-
Notifications
You must be signed in to change notification settings - Fork 383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mo.stop propagation breaks #1509
Comments
OK- I think it's because I reference UI elements in the "stopped" code, which triggers a rerun on load.
Replication with much smaller notebook: I'm not using refresh, but I do have some interdependent UI elements that I think end up triggering change |
I think a fix could be to not run a cell if any of its ancestors are stopped. We do this with |
I think "stop" itself is fine, but something is up with resolving the dependency graph. In the example I gave, marimo should have realized that I think more aggressive checking of refs could solve this. Here's a silly example that shows how the dep, ref checking is a little broken (beyond stop): edit: Yes, this is a special weird case, but I think it shows lack of guards that would catch the stop case as well |
What would you expect |
I would expect it not to run. Maybe throw an "Unsatisfable context" or even "This cell is in a cycle: cell-0 because even in this case (similar to the original example): https://marimo.app/l/pdym22 marimo doesn't check to see if
Right? I don't know—these are weird edge cases, but I think they might surface in cases like we're seeing with Or maybe this is getting unrelated to the stop issue (I can open another issue) edit, simpler case Even without exceptions, you can do something like:
Which is fine by itself (I think), but trying to use b in another cell should raise an error (beyond the NameError) |
@dmadisetti is this good to close now with this #1580 (again, awesome work!) |
I think this can be solved for the "relaxed" runtime too, without the machinery of strict. |
Closing out, because I had a notebook that seems to pretty reliable trip this, but doesn't anymore 🎉 |
Describe the bug
I'm not able to replicate this without sharing my notebook.
It's a pretty large notebook. I have a stop that should effectively stop the whole notebook, but I start getting name errors at some point since the stop doesn't propagate as far as it should.
Name error for projections
The cell that defines projections
Rerunning the stop cell then works! It feels like maybe a race condition somewhere
Environment
0.6.11
Code to reproduce
Large notebook with many parts, since stop condition that should halt everything. Restarting my notebook kernel reliably triggers the incorrect name errors
The text was updated successfully, but these errors were encountered: