Thanks for the response.
I tried attaching gdb to the executable. I got a segfault at an unexpected new point \o/ but could reproduce the previous crashes, with the same gdb output.
For information, here is the output
(gdb) backtrace
#0 0x0000000001c2aa8b in dynamic_cast ()
#1 0x0000000000000000 in ?? ()
(gdb) info frame
Stack level 0, frame at 0x7fffffffa488:
rip = 0x1c2aa8b in dynamic_cast; saved rip = 0x0
called by frame at 0x7fffffffa490
Arglist at 0x7fffffffa478, args:
Locals at 0x7fffffffa478, Previous frame's sp is 0x7fffffffa488
Saved registers:
rip at 0x7fffffffa480
(gdb) info args
No symbol table info available.
So, it's still better than nothing, but it's probably something about checking against a removed object.
I'll continue to check. It seems to be related to something about some collision exception in my game (I get "ERROR: remove_collision_exception_with: Parameter "p_node" is null." maybe once every 20 crashes, maybe something about flushing the output before crashing) and maybe every bug will vanish at once… Or not…
I may get around clearing collision exceptions instead of removing one (there is only one anyway) but it looks like putting the dust under the carpet… And that still doesn't explain why it crashes without debug and runs (almost) fine with.