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

Reply via email to