It is fixed now.
No it manifested as memory corruption, but is was not that.
basically when the engine build the island every contact and ever joint is added to the array if the are no connected to a static body. This has always worked,
however now that we are building the skeleton at run time, if a skeleton is connted to the NULL body (which I the engine is a sentinel static body) that become a stop, but in that scene there are tow skeleton connected to the world, but the island builder we make two separate island while the skeleton was the ring to solve but skeleton as a single island.
this all happened because he static world sentinel can no have a skeleton so I need to add a heritic to recognized the special case.
This bug has always been there and was never exposed because we I build stuff like that I do no connected then to the null body, I make a dummy root to serve as the root of the contraction of joints. this way the root can has a skeleton assigned to it.
This is a several rull that we can no inforce end user so it is fix now.
however is a good practice to make a dommy static body to connected any articulation to the body instead of leaving the other body point set to null. The reason for this is performance.
It is clear that those two robot form tow independent island. but internally because they are connect to the Null world, the form a single island.
this use more memory, and in the case of multi thread it can only be solved in one core.
so it is a recommendation not a rule.
connecting it to the world would fix the crash bug, but no the potential performance issue.
BTW I am having a blast with the robot picking objects.
PS there reason why it do not crash in the editor, is because the island is a flat array of data.
so if the array has data form previous frame it will work but will generate a malfunction that will crash eventually. this are typical bug when using free list allocation and are quiet hard to fix, the best thong that happen is that It did crash.