[CC: libfor...@packages.debian.org] On Sat, Nov 28, 2009 at 11:53:21AM +0200, George Danchev wrote: > I can confirm that 3.1-10 crashes on startup on x86, but not on amd64. > I got the source in order to rebuilt with debugging symbols on x86, but then > the app started just fine. My best bet is that something has changed within > the > underlying libraries, also looking at ltrace output: > > fl_set_object_lcol(0x9e2a500, 0, 0xbfbad678, 0x804bf28, 1) > = > 0x9e2a500 > fl_initial_wingeometry(8, 8, 220, 670, 0x37f0c7f) > = > 220 > fl_show_form(0x9e29a68, 0, 1, 0x8051237, 0x37f0c7f <unfinished ...> > --- SIGSEGV (Segmentation fault) --- > +++ killed by SIGSEGV +++ > > reveals that something has changed in the callback functions there. > I'm curious if rebuilding on x86 would make that crash go away.
Thanks, and indeed I see similar symptoms here. Rebuilding does make it go away, but I think this is really a bug in libforms1 that needs to be fixed there. It will probably involve a kali rebuild at some point, but I'd like to hear from the libforms1 maintainer first. With kali built against libforms1 1.0-8 and a version of libforms1 1.0.92sp1-5 built with debugging symbols and -O0, gdb's new reverse debugging support (yay!) quickly narrowed down the point where libforms1 jumps into space: (gdb) b fli_scale_form Function "fli_scale_form" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (fli_scale_form) pending. (gdb) r Starting program: /home/cjwatson/src/debian/kali/trunk/kali/kali Breakpoint 1, fli_scale_form (form=0x807c838, xsc=1, ysc=0.99178082191780825) at forms.c:515 515 double neww = form->w_hr * xsc, (gdb) target record (gdb) c Continuing. Process record: failed to record execution log. Program received signal SIGTRAP, Trace/breakpoint trap. 0x00000001 in ?? () (gdb) reverse-stepi 0x00c86968 in handle_object (obj=0x807d090, event=22, mx=0, my=0, key=0, xev=0x0, keep_ret=1) at objects.c:2426 2426 obj->posthandle( obj, event, mx, my, key, xev ); So. On investigating the diff from libforms1 1.0-8 to 1.0.92sp1-5, I notice that a bunch of new members have been inserted into the FL_OBJECT structure, namely fl1, fr1, ft1, fb1, fl2, fr2, ft2, and fb2, all before posthandle. (There are also multiple changes after posthandle.) No wonder kali is breaking. Peter, doesn't this require libforms1 to have a new SONAME, or else to clean up its interface to be ABI-compatible with previous versions (at least by only ever appending members to structs)? Thanks, -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org