reyalp
2016-12-26 20:15:39 UTC
Hi,
A user of an Lua IUP application I maintain (chdkptp) reported crashes
on several recent Linux distros, including ubuntu 16.10, Fedora 25 and
Manjaro.
The crash appears to be triggered when a iup.list with dropdown set is
mapped, and can be reproduced using just the list.lua example included
with IUP.
This happens on ubuntu 16.10, and not on 16.04 (both x64, default
installs with unity desktop). I used the pre-built libraries from
sourceforge, but the user reported IUP built from source on the
affected distros has the same problem.
I reproduced the crash with the following:
Download iup-3.20-Lua52_Linux44_64_bin.tar.gz
Download http://webserver2.tecgraf.puc-rio.br/iup/examples/Lua/list.lua
Run
LD_LIBRARY_PATH=`pwd` ./lua52 list.lua
If the definition of list_dropdown is commented out, or list_dropdown
is not included in frm_prize it does not crash.
The crash gives a stack trace like:
LD_LIBRARY_PATH=. gdb --args ./lua52 list.lua
GNU gdb (Ubuntu 7.11.90.20161005-0ubuntu1) 7.11.90.20161005-git
...
Thread 1 "lua52" received signal SIGSEGV, Segmentation fault.
0x00007ffff53d7946 in g_type_check_instance_cast ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
(gdb) bt
#0 0x00007ffff53d7946 in g_type_check_instance_cast ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1 0x00007ffff6bcda1b in gtkListMapMethod () from ./libiup.so
#2 0x00007ffff6b81854 in IupMap () from ./libiup.so
#3 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#4 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#5 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#6 0x00007ffff6b819e7 in IupShowXY () from ./libiup.so
#7 0x00007ffff6e784a8 in ShowXY () from ./libiuplua52.so
#8 0x00000000004085ad in luaD_precall ()
#9 0x0000000000412dbc in luaV_execute ()
#10 0x00000000004088ee in luaD_call ()
#11 0x0000000000407f2f in luaD_rawrunprotected ()
#12 0x0000000000408b31 in luaD_pcall ()
#13 0x0000000000406521 in lua_pcallk ()
#14 0x0000000000404216 in docall ()
#15 0x0000000000404e08 in pmain ()
#16 0x00000000004085ad in luaD_precall ()
#17 0x00000000004088e2 in luaD_call ()
#18 0x0000000000407f2f in luaD_rawrunprotected ()
#19 0x0000000000408b31 in luaD_pcall ()
#20 0x0000000000406521 in lua_pcallk ()
#21 0x0000000000403fbb in main ()
Best regards, and thanks for IUP
A user of an Lua IUP application I maintain (chdkptp) reported crashes
on several recent Linux distros, including ubuntu 16.10, Fedora 25 and
Manjaro.
The crash appears to be triggered when a iup.list with dropdown set is
mapped, and can be reproduced using just the list.lua example included
with IUP.
This happens on ubuntu 16.10, and not on 16.04 (both x64, default
installs with unity desktop). I used the pre-built libraries from
sourceforge, but the user reported IUP built from source on the
affected distros has the same problem.
I reproduced the crash with the following:
Download iup-3.20-Lua52_Linux44_64_bin.tar.gz
Download http://webserver2.tecgraf.puc-rio.br/iup/examples/Lua/list.lua
Run
LD_LIBRARY_PATH=`pwd` ./lua52 list.lua
If the definition of list_dropdown is commented out, or list_dropdown
is not included in frm_prize it does not crash.
The crash gives a stack trace like:
LD_LIBRARY_PATH=. gdb --args ./lua52 list.lua
GNU gdb (Ubuntu 7.11.90.20161005-0ubuntu1) 7.11.90.20161005-git
...
Thread 1 "lua52" received signal SIGSEGV, Segmentation fault.
0x00007ffff53d7946 in g_type_check_instance_cast ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
(gdb) bt
#0 0x00007ffff53d7946 in g_type_check_instance_cast ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1 0x00007ffff6bcda1b in gtkListMapMethod () from ./libiup.so
#2 0x00007ffff6b81854 in IupMap () from ./libiup.so
#3 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#4 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#5 0x00007ffff6b818a8 in IupMap () from ./libiup.so
#6 0x00007ffff6b819e7 in IupShowXY () from ./libiup.so
#7 0x00007ffff6e784a8 in ShowXY () from ./libiuplua52.so
#8 0x00000000004085ad in luaD_precall ()
#9 0x0000000000412dbc in luaV_execute ()
#10 0x00000000004088ee in luaD_call ()
#11 0x0000000000407f2f in luaD_rawrunprotected ()
#12 0x0000000000408b31 in luaD_pcall ()
#13 0x0000000000406521 in lua_pcallk ()
#14 0x0000000000404216 in docall ()
#15 0x0000000000404e08 in pmain ()
#16 0x00000000004085ad in luaD_precall ()
#17 0x00000000004088e2 in luaD_call ()
#18 0x0000000000407f2f in luaD_rawrunprotected ()
#19 0x0000000000408b31 in luaD_pcall ()
#20 0x0000000000406521 in lua_pcallk ()
#21 0x0000000000403fbb in main ()
Best regards, and thanks for IUP