Just following up with new findings here.

First, those "entry [xxx] is not null" log messages are not a part of the
problem, as they disappear if I clear the refs in aspect 0 and apply the
changelist to aspect 1 again before exiting the test,

Second, the group's parents-field seems to auto-update via execSync, but
unlinkParent() is called anyway

* Main:  linkParent( node A0) via setCore()

* Thread: applyChangeList A0 -> A1  - linkParent never called on group in
A1, happens automagicallly?

* Main:  linkParent( clone A0); -> via cloneTree()

* Main:  unlinkParent( node A0); -> via node-destructor as refs => 0 from
smartptr

* Thread: applyChangeList A0 -> A1, causes these calls, but no linkparent
for clone A1 to group 1
   * unlinkParent( node A1) - KABOOM, group's parent list only has clone A1.
      (.. is called via applyAndClear()->subreferencesunrecorded->(node
A1->resolvelinks()->setCore(null))

So, the unlinkParent(node A1) call via applyAndClear is unnecessary as the
node is already gone, and we get the warning.

So, the warning seems pretty harmless as the state is correct before
calling unlinkParent(), but when cloning trees of ~10000 nodes the log
noise is immense, so we have to filter it out.

That is of course doable, but undesireable, as we get the same error when
using the wrong aspect-pointers across threads.

Cheers,
/Marcus
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to