Hello, I'm building a simple app using lua5.4 and latest iup, all libraries downloaded from the original iup sourceforge archives.
I'm running into erratic segmentation faults, running under valgrind shows that iup is trying to access memory that has earlier been freeed by the Lua garbage collector, this often happens on a button click. example stack trace below; this is just one fragment from hundreds of occurences. This particular snippet shows that code running from the gtk button callback gtkButtonClicked() is trying to access memory that has been freed earlier by luaM_free_(), called from sweeplist(), indicating this is likely the GC who did the cleanup. Is this a known issue? Any hints on how to further debug this? Thank you. ==1997703== Invalid read of size 8 ==1997703== at 0x40C582: luaD_precall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x41A450: luaV_execute (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40C6DF: ccall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4177B2: luaT_callTMres (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x41BCEC: luaV_execute (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40C6DF: ccall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40BA24: luaD_rawrunprotected (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40CAB1: luaD_pcall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4097AD: lua_pcallk (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4C2FFB9: docall (in /home/ico/sandbox/rodney/vestel/linux/iuplua/libiuplua54.so) ==1997703== by 0x4C30297: iuplua_call (in /home/ico/sandbox/rodney/vestel/linux/iuplua/libiuplua54.so) ==1997703== by 0x4B1B6B0: gtkButtonClicked (in /home/ico/sandbox/rodney/vestel/linux/iup/libiup.so) ==1997703== Address 0xca02de8 is 24 bytes inside a block of size 200 free'd ==1997703== at 0x484117B: free (vg_replace_malloc.c:872) ==1997703== by 0x41DE00: l_alloc (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x41D6E8: luaM_free_ (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40E207: sweeplist (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40E2F4: sweepstep (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40F7D3: singlestep (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x410339: luaC_step (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x41A7EE: luaV_execute (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40C6DF: ccall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4096D1: lua_callk (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x406161: on_debug (curl.c:341) ==1997703== by 0x4A0C42D: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.7.0) ==1997703== Block was alloc'd at ==1997703== at 0x483E6C5: malloc (vg_replace_malloc.c:380) ==1997703== by 0x41D89E: luaM_malloc_ (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4157FC: lua_newthread (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x420004: luaB_cocreate (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40C5B7: luaD_precall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x41A450: luaV_execute (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40C6DF: ccall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40BA24: luaD_rawrunprotected (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40CAB1: luaD_pcall (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x4097AD: lua_pcallk (in /home/ico/sandbox/rodney/vestel/main) ==1997703== by 0x40499B: main (main.c:48) -- :wq ^X^Cy^K^X^C^C^C^C _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users