Bug#642762: xulrunner-6.0: console flooded with unaligned access messages on ia64 (IA-64/IPF/Itanium) platform

Mike Hommey mh at glandium.org
Tue Sep 27 05:22:31 UTC 2011


On Mon, Sep 26, 2011 at 11:10:20PM +0200, Émeric Maschino wrote:
> Mike,
> 
> 2011/9/25 Mike Hommey <mh at glandium.org>:
> > nsISupportsImpl.cpp:44 is:
> >    while (entries->iid) {
> >
> > entries is 0x70004008fb8, and its type is a pointer to:
> >
> > struct QITableEntry
> > {
> >  const nsIID *iid;
> >  PROffset32   offset;
> > };
> >
> > I fail to see how this can be unaligned...
> >
> > What is the corresponding address of that particular SIGBUS?
> 
> Reporting and helping debugging unaligned access is new to me and I
> can't find any decent howto on the web. So, I'm not sure to fully
> understand what exactly you need :-(.
> 
> Do you simply want to check that the memory address of the SIGBUS is
> indeed pointing to NS_TableDrivenQI()?
> 
> In an other debug session, here is what I've recorded:
> 
> (gdb) run
> Starting program: /usr/lib/iceweasel/firefox-bin
> [Thread debugging using libthread_db enabled]
> [New Thread 0x700088c71e0 (LWP 4310)]
> [New Thread 0x700091331e0 (LWP 4311)]
> 
> Program received signal SIGBUS, Bus error.
> 0x00000700033b3130 in NS_TableDrivenQI (aThis=0x70007174f40, entries=0x70004008f
> b8, aIID=..., aInstancePtr=0x70007168c58) at /build/buildd-iceweasel_6.0.2-1-ia6
> 4-HBKkq9/iceweasel-6.0.2/build-xulrunner/xpcom/build/nsISupportsImpl.cpp:44
> 44	/build/buildd-iceweasel_6.0.2-1-ia64-HBKkq9/iceweasel-6.0.2/build-xulrun
> ner/xpcom/build/nsISupportsImpl.cpp: Aucun fichier ou dossier de ce type.
> 	in /build/buildd-iceweasel_6.0.2-1-ia64-HBKkq9/iceweasel-6.0.2/build-xul
> runner/xpcom/build/nsISupportsImpl.cpp
> (gdb) x 0x700033b3130
> 0x700033b3130 <NS_TableDrivenQI(void*, QITableEntry const*, nsID const&, void**)
> +48>:	0x44208809
> (gdb) x 0x70004008fb8
> 0x70004008fb8 <_ZZN15nsSupportsArray14QueryInterfaceERK4nsIDPPvE5table>:	
> 0x0390ab74
> (gdb) p entries
> $1 = (const QITableEntry *) 0x70004008fb8
> (gdb) p entries->iid
> $2 = (const nsIID *) 0x7000390ab74
> (gdb) p entries->offset
> $3 = 0

Could you add the output for "disassemble" and "info registers" ?

Mike





More information about the pkg-mozilla-maintainers mailing list