On Wed, Jun 27, 2007 at 09:41:43AM +0930, Brett Lymn wrote:
>
> > If you can start the client and then attach gdb, gdb will trap the bus
> > error before it is passed on to the application. I wonder if the problem
> > is with the call to MarinerLog, or with a call made from that function.
> >
>
This is what I get:
Program received signal SIGBUS, Bus error.
0x00000000004305dd in MarinerLog (
fmt=0x48d460 "cache::EndStatusWalk [%d]\n [%d, %d, %d, %d] [%d, %d, %d]
[%d, %d, %1.1f]%s") at mariner.cc:243
243 void MarinerLog(const char *fmt, ...) {
(gdb) bt
#0 0x00000000004305dd in MarinerLog (
fmt=0x48d460 "cache::EndStatusWalk [%d]\n [%d, %d, %d, %d] [%d, %d, %d]
[%d, %d, %1.1f]%s") at mariner.cc:243
#1 0x00000000004293b9 in hdb::StatusWalk (this=0x508f3710, vp=0x611600,
TotalBytesToFetch=0x450a3f34, BytesFetched=<value optimized out>)
at hdb.cc:664
#2 0x000000000042953b in hdb::Walk (this=0x508f3710, m=<value optimized out>,
local_id=0) at hdb.cc:893
#3 0x0000000000429e7b in HDBDaemon () at hdb_daemon.cc:121
#4 0x0000000000456ad0 in VprocPreamble (arg=<value optimized out>)
at vproc.cc:148
#5 0x00007f7ffd204687 in Create_Process_Part2 () from /usr/pkg/lib/liblwp.so.2
#6 0x00007f7ffd205249 in L1 () from /usr/pkg/lib/liblwp.so.2
#7 0xfffefdfcfbfaf9f8 in ?? ()
Cannot access memory at address 0x450a4000
That crash will come up reliably if I just leave venus sitting there.
I tried actually using the the file system and it died in other
places. It may be a coincidence but the functions all seem to be
functions with varargs.
OK - after more digging and debugging it looks like this may not be
coda's fault, looking at the machine code level there looks like there
may be a misaligned stack. "let me get back to you on this" ;)
--
Brett Lymn