You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mostly opening this to document a weird state I've arrived in. I don't have repro steps, but will update if I can figure them out. If I had to guess at repro steps, it would be something like:
Run a model with a headless child model.
ls:show 0 to view the world state.
With that open, edit the code of the child model (opened with the LevelSpace menu)
Maybe something like do ls:reset and rerun model with the viewer still open? Basically, having a bunch of ways of having the child model be referenced and then doing things that might change one reference but not the others.
I arrived at a state where an instance of a headless child model being used by the model and the one displayed with ls:show are different. The child model's command center seemed to talk to the same instance that the model used, as can be seen here:
Note that the world size seen in the view is the world size the child model has on initial load, but then it changes when run.
Looking at a heap dump, we see that there are, in fact, 6 instance of HeadlessChildModel:
HeadlessChildModel#5 appears to be the one used by the model and the command center, as indicated by the number of turtles in its world (the command center indicated 11 turtles, as did running [ count turtles ] ls:of 0 in the parent model):
HeadlessChildModel#6 appears to be used by the backing model manager:
but also seems to have agents in it:
I haven't been able to figure out which headless model is the one actually being displayed by the model viewer, but the heapdump is attached.
Mostly opening this to document a weird state I've arrived in. I don't have repro steps, but will update if I can figure them out. If I had to guess at repro steps, it would be something like:
ls:show 0
to view the world state.ls:reset
and rerun model with the viewer still open? Basically, having a bunch of ways of having the child model be referenced and then doing things that might change one reference but not the others.I arrived at a state where an instance of a headless child model being used by the model and the one displayed with
ls:show
are different. The child model's command center seemed to talk to the same instance that the model used, as can be seen here:Note that the world size seen in the view is the world size the child model has on initial load, but then it changes when run.
Looking at a heap dump, we see that there are, in fact, 6 instance of
HeadlessChildModel
:HeadlessChildModel#5
appears to be the one used by the model and the command center, as indicated by the number of turtles in its world (the command center indicated 11 turtles, as did running[ count turtles ] ls:of 0
in the parent model):HeadlessChildModel#6
appears to be used by the backing model manager:but also seems to have agents in it:
I haven't been able to figure out which headless model is the one actually being displayed by the model viewer, but the heapdump is attached.
heapdump-1675355329037.zip
The text was updated successfully, but these errors were encountered: