[SOLVED] = Spawning rigged character (for the 4-th time) crashes Blender

(dtrip) #1


The warrior kills the first skeleton and moves on. Ok
Then he kills the second skeleton, Ok.
Then he kills the third skeleton, Ok.

As soon as the fourth skeleton is to be spawned, Blender crashes. Standalone player also behaves the same.

If I remove the Armature from the character, it works Ok.

I also got this crash file. It says something about Armatures.

Any ideas what might be going wrong ?

Blender 2.78 (sub 0), Commit date: 2016-09-26 12:42, Hash 4bb1e22

bpy.context.object.use_pulse_true_level = False # Property
bpy.context.object.frame_end = 100000 # Property


./blender(BLI_system_backtrace+0x1d) [0x1b6269d]
./blender() [0x11bc81e]
/lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f5d87c184b0]
./blender(BKE_sca_logic_copy+0xd7) [0x1936067]
./blender(BKE_object_copy_ex+0x111) [0x18f0aa1]
./blender(_ZN17BL_ArmatureObject14ProcessReplicaEv+0x3e) [0x1d8654e]
./blender(_ZN17BL_ArmatureObject10GetReplicaEv+0x1f4) [0x1d87b44]
./blender(_ZN8KX_Scene20AddNodeReplicaObjectEP10SG_IObjectP6CValue+0x31) [0x1e0a341]
./blender() [0x1e0a925]
./blender(ZN7SG_Node16ProcessSGReplicaEPPS+0x20) [0x1e77a10]
./blender(_ZN7SG_Node12GetSGReplicaEv+0x40) [0x1e77b10]
./blender(ZN7SG_Node16ProcessSGReplicaEPPS+0x78) [0x1e77a68]
./blender(_ZN7SG_Node12GetSGReplicaEv+0x40) [0x1e77b10]
./blender(_ZN8KX_Scene16AddReplicaObjectEP6CValueS1_i+0x1a0) [0x1e0bb20]
./blender(_ZN24KX_SCA_AddObjectActuator16InstantAddObjectEv+0x30) [0x1e031c0]
./blender(_ZN24KX_SCA_AddObjectActuator6UpdateEv+0x29) [0x1e03359]
./blender(_ZN16SCA_LogicManager11UpdateFrameEdb+0xaa) [0x1e4d79a]
./blender(_ZN15KX_KetsjiEngine9NextFrameEv+0x307) [0x1deb427]
./blender() [0x1d66678]
./blender(StartKetsjiShell+0xfb6) [0x1d67806]
./blender() [0x12b1314]
./blender() [0x11c4142]
./blender() [0x11c559a]
./blender() [0x11c5991]
./blender() [0x11c5ea6]
./blender(wm_event_do_handlers+0x345) [0x11c6345]
./blender(WM_main+0x18) [0x11bd428]
./blender(main+0x3b3) [0x11620c3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f5d87c03830]
./blender() [0x11b96c9]

(dtrip) #2

Well, I downloaded latest version 2.79b 64-bit for Linux and it works fine now ! Phew, needless to say I was very worried.

But ain’t that a peculiar coincidence ? I think perhaps my previous Blender installation got corrupted somehow ?

(Monster) #3

This stack trace confirms that something went wrong while copying the armature. It looks like this happens while copying the logic bricks.

The last stacks look like this one: https://github.com/JacquesLucke/animation_nodes/issues/666

It could be related to this one: https://developer.blender.org/T49466. You might need to use 2.78a or 2.79. [Edit: you confirmed that above]

Beside of that - do you have any logic brick links between objects?

(dtrip) #4

I do not understand exactly what you mean by “links between objects”, but

there are boxes that upon collision with the warrior, they spawn a skeleton. They do this with logic bricks, like this:

Collision with (warrior property) -------> AND -----------------> Edit Object / Add Object creature.002

(where creature.002 is the skeleton).

If it is any help, In the previous (crashing) version Linux 2.78 64 bit, I tried numerous things =

  1. Changed the above spawning logic brick with Python code (ie the collision called a script which called addObject). ----> crash

  2. Deleted the armature from the creature —> worked

  3. Spawned the armature along with the creature but not connected anymore, like two different objects (with two add object bricks) —> crash.

  4. Eventually deleted everything and spawned only the armature —> still crash

  5. Created a new armature with just one bone and spawned only that —> EDIT = still crash, but not the 4-th time. MOre spawns were required, but still crash.

  6. Spawned the creature (without the original armature, that was deleted) along with the new bone armature --> EDIT = still crash, but also not the 4-th time, but more spawns were required. But still crash.

So there was something wrong with the specific armature and generally with spawning an armature
again and again. The original armature was rather default, had not changed much in it.
However the bones had restrictions “copy rotation” from some cubes, which I rotate with Python
(this is a trick I use because you can not directly rotate bones of an armature with Python, AFAIK)
However in some tests I disabled and even deleted the restrictions, and it still crashed.

PS: In all cases, the crash was at the addObject call, either logic brick or Python code. I printed
a message before the addObject (it appeared always), and printed a message after (never saw it).

(Monster) #5

Logic brick links between objects: connect the sensor of one object with the controller of another

(dtrip) #6

No, I have not done this (did not know it was possible in the first place) . Sounds very useful though. Is it a cause for crashes ?

PS: Btw thanks a lot for your assistance and your links above. Very informative.

(Monster) #7

It looks like this can be the cause of the crash. At least the code looks like it is a good candidate.