100% Crash for gui particlefx (DEF-3048)

Found out (the hard way) that if making a gui particlefx node a child to a gui spine bone node (runtime of course) and starting the particlefx, it crashes every time.
When doing it with any other node it works fine.

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000064
Exception Note: EXC_CORPSE_NOTIFY

VM Regions Near 0x64:
–>
Kernel Alloc Once 000000000e2bd000-000000000e2be000 [ 4K] rw-/rwx SM=PRV

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dmengine 0x000000010e4b8c1b dmGameSystem::RenderParticlefxNodes(dmGui::Scene*, dmGui::RenderEntry const*, Vectormath::Aos::Matrix4 const*, float const*, dmGui::StencilScope const**, unsigned int, void*) + 523
1 dmengine 0x000000010e4bb550 dmGameSystem::RenderNodes(dmGui::Scene*, dmGui::RenderEntry const*, Vectormath::Aos::Matrix4 const*, float const*, dmGui::StencilScope const**, unsigned int, void*) + 880
2 dmengine 0x000000010e6c00eb dmGui::RenderScene(dmGui::Scene*, dmGui::RenderSceneParams const&, void*) + 4363
3 dmengine 0x000000010e4bb989 dmGameSystem::CompGuiRender(dmGameObject::ComponentsRenderParams const&) + 361
4 dmengine 0x000000010e496b63 dmGameObject::Render(dmGameObject::Collection*) + 419
5 dmengine 0x000000010e4b30d6 dmGameSystem::CompCollectionProxyRender(dmGameObject::ComponentsRenderParams const&) + 102
6 dmengine 0x000000010e496b63 dmGameObject::Render(dmGameObject::Collection*) + 419
7 dmengine 0x000000010e484c61 dmEngine::Step(dmEngine::Engine*) + 1313
8 dmengine 0x000000010e4de056 dmGraphics::RunApplicationLoop(void*, void ()(void), int ()(void)) + 38
9 dmengine 0x000000010e485a63 dmEngine::InitRun(dmEngineService::EngineService*, int, char**, void ()(dmEngine::Engine, void*), void ()(dmEngine::Engine, void*), void*) + 179
10 dmengine 0x000000010e4858dc dmEngine::Launch(int, char**, void ()(dmEngine::Engine, void*), void ()(dmEngine::Engine, void*), void*) + 204
11 dmengine 0x000000010e485b96 engine_main(int, char**) + 118
12 dmengine 0x000000010e2af034 start + 52

Also please include ability to upload the crashlog here (I renamed it *.lua to be able)
_crash.lua (50.0 KB)

1 Like

Hello,

I’m not able to repro this over here. I have a gui scene with a single pfx and a single spine scene. In runtime with the spine animation playing, I parent the pfx node under a spine bone node and then start the pfx. It looks like you would expect.

Do you have another setup? A sample scene with issue reproduced would help a lot :slight_smile:

/Johan

1 Like

Ok I will try. I am setting up another bug right now for you (read another thread :slight_smile: ) but will try to simplify the situation I have here in the project.

3 Likes

You are now invited to project 84602 (Particle Gui Crash).
Also I invited you to project 78789 (Spine GUI Backward bug)

Feel free to invite Defold members if needed.

4 Likes

Thanks, added ticket DEF-3048 for this.

Any direct understanding of what is the cause (so I might avoid it at this point)?

So far I have only verified that it indeed crashes in your sample project, but not in the simple setup I created earlier. It may be some bug in batched rendering of gui nodes but I have to spend some more time digging into it to find any workaround unfortunately.

1 Like

A fix for this is currently under review, hopefully it will be in the next stable release in early January.

5 Likes