On Tue, Apr 14, 2009 at 9:33 PM, Zack Weinberg <[email protected]> wrote: > On sparc, monotone fails to build because every last test of the main program > triggers a bus error. As far as I can tell from the limited information I've > managed to extract from the build daemon, this is actually a bug in libsqlite. ... > However, with a fingerprint this consistent, I would venture to guess > that libsqlite3 is providing an inadequately-aligned mutex to libpthread, > or something like that.
It occurred to me this morning that the address in libpthread is probably a signal-handler return shim, thus nothing to do with the problem. On this theory, this is the bad code, with the faulting instruction starred (sparc has delay slots for all branches): 68f58: c2 02 20 20 ld [ %o0 + 0x20 ], %g1 68f5c: 10 bf f8 a5 b 671f0 <sqlite3VdbeExec+0x3a98> *68f60: c2 20 a0 20 st %g1, [ %g2 + 0x20 ] Unfortunately, without a sparc gdb, I'm not able to figure out exactly what this corresponds to in the source code. At address 671f0 is a call to freeIndex, so I'm guessing this somewhere in sqlite3CreateIndex (inlined into sqlite3VdbeExec - the other callers of freeIndex are not plausible given the structure of the application). zw -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

