Mike,

2011/9/25 Mike Hommey <m...@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

Does it answer your question or not at all?

FYI, no unaligned access message is logged (neither in the console
/var/log/kern.log, /var/log/messages or /var/log/syslog) while in GDB.
Is this what you would like that I try to catch while running
Iceweasel in GDB?

     Émeric



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to