Hello Guest

[SOLVED] Nuklear segfault reading

  • 2 Replies
[SOLVED] Nuklear segfault reading
« on: December 24, 2019, 13:24:54 »
Merry Christmas!

I need help to parse SIGSEGV logs.
I decided to move from NanoVG to Nuklear and I did nothing really, just included the democode (https://gist.github.com/mudlee/c32e5e939fac792dc1e7721376116a0f) to prove it works and of course I'll be refactor it to be a UI framework. After a while it segfaults.

OK, in paralell adding Nuklear, I did a bigger refactor in the engine, and I experience the following. Just calling
Code: [Select]
new NuklearHandler() right after I initiate my engine works and everything starts up, there is the demo Nuklear UI with fonts and texts and buttons.
After a while (1s-~5sec) the game shuts down with segfault. If I don't initiate NuklearHandler, my game does not even start, just hangs around. Obviously I screwed up something during the refactor, but I'd like to find what, but I have no info how to read these segfaults (https://gist.github.com/mudlee/534d973a7cc652f489217a6f04aa8bc2). Somewhere in the past one of you explained how to read it, but I can't find it.
« Last Edit: December 24, 2019, 14:39:43 by mudlee »


Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: Nuklear segfault reading
« Reply #1 on: December 24, 2019, 13:58:41 »
The buffer containing font data must not be GCed or deallocated. It is being accessed directly by stb (e.g. for metrics, the stbtt_GetCodepointHMetrics call in your case), even after you initialize the font textures etc.

Re: Nuklear segfault reading
« Reply #2 on: December 24, 2019, 14:39:28 »
Spasi you always suprise me. Answering that quickly even in the middle of Christmas... Must give you a huge thumbsup!

You're right, initiating the class does not bind it to anything, hence when the GC is active it will screw up everything. THX!

The other problem was that I accidentally deleted `glfwPollEvents` from the main loop...