On Tue, May 13, 2008 at 02:46:45PM +0200, Frank Lichtenheld <[EMAIL PROTECTED]> wrote: > On Tue, May 13, 2008 at 07:41:22AM +0200, Mike Hommey wrote: > > On Tue, May 13, 2008 at 12:54:51AM +0200, Frank Lichtenheld wrote: > > > [EMAIL PROTECTED]:/usr/lib/xulrunner-1.9# gdb ./regxpcom > > > GNU gdb 6.7.1-debian > > > Copyright (C) 2007 Free Software Foundation, Inc. > > > License GPLv3+: GNU GPL version 3 or later > > > <http://gnu.org/licenses/gpl.html> > > > This is free software: you are free to change and redistribute it. > > > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > > > and "show warranty" for details. > > > This GDB was configured as "hppa-linux-gnu"... > > > Using host libthread_db library "/lib/libthread_db.so.1". > > > (gdb) run > > > Starting program: /usr/lib/xulrunner-1.9/regxpcom > > > [Thread debugging using libthread_db enabled] > > > [New Thread 0x4000 (LWP 1767)] > > > > > > Program received signal SIGSEGV, Segmentation fault. > > > [Switching to Thread 0x4000 (LWP 1767)] > > > xptiInterfaceEntry::EnsureResolved (this=0x0, aWorkingSet=0x0) at > > > xptiprivate.h:590 > > > 590 xptiprivate.h: No such file or directory. > > > in xptiprivate.h > > > (gdb) bt > > > #0 xptiInterfaceEntry::EnsureResolved (this=0x0, aWorkingSet=0x0) at > > > xptiprivate.h:590 > > > #1 0x4232c260 in xptiInterfaceEntry::GetMethodInfo (this=0x0, index=5, > > > info=0xfafe3088) at xptiInterfaceInfo.cpp:317 > > > #2 0x4232aaf8 in PrepareAndDispatch (self=0xfafe2d5c, methodIndex=<value > > > optimized out>, args=0xfafe2f98, floatargs=0xfafe3030) at > > > xptcstubs_pa32.cpp:71 > > > > Could you go up to this frame and display the value for self ? > > Like this? > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x4000 (LWP 3623)] > xptiInterfaceEntry::EnsureResolved (this=0x0, aWorkingSet=0x0) at > xptiprivate.h:590 > 590 xptiprivate.h: No such file or directory. > in xptiprivate.h > (gdb) up 2 > #2 0x429d7af8 in PrepareAndDispatch (self=0xfaf12d5c, methodIndex=<value > optimized out>, args=0xfaf12f98, floatargs=0xfaf13030) at > xptcstubs_pa32.cpp:71 > 71 xptcstubs_pa32.cpp: No such file or directory. > in xptcstubs_pa32.cpp > (gdb) p self > $1 = (class nsXPTCStubBase *) 0xfaf12d5c > (gdb) p *self > $2 = {<nsIXPTCStubBase> = {<nsISupports> = {_vptr.nsISupports = 0x0}, <No > data fields>}, mOuter = 0x42b74b54, mEntry = 0x0} > (gdb)
It really looks like this pointer is totally wrong. If the same code built with gcc 4.2 works, my guess would be that the nsXPTCStubBase::Stubn stack is not 64 bytes anymore with gcc 4.3, as assumed by the assembly code... Mike -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]