On Thu, Apr 26, 2007, Mark Powell wrote: > On Thu, 26 Apr 2007, Adrian Chadd wrote: > > >can you please do: > > > >frame 2 > >print *ctrlp ? > > (gdb) frame 2 > #2 0x080e729f in aioCheckCallbacks (SD=0x82bb000) at aufs/async_io.c:319 > 319 done_handler(ctrlp->fd, their_data, ctrlp->bufp, > (gdb) print *ctrlp > $4 = {next = 0x0, fd = 21, operation = 1, done_handler = 0, > done_handler_data = 0x0, result = {aio_return = -1, aio_errno = 22, _data > = 0x8c3ad00, data = 0x8c389c0}, len = 761, bufp = 0x8d09800 "", > free_func = 0, node = {data = 0x8c389c0, prev = 0x0, next = 0x0}} > (gdb) .. now we're getting somewhere. I guess the stuff in the stack frame for the COSS relocation pending completion is busted due to optimisation. Ok, whats errno 22 on your platform? On my freebsd 6.2 box: #define EINVAL 22 /* Invalid argument */ So there's two things; why is there a problem, and why is the object relocate code handling said error so badly? It looks like the ctrlp doesn't have the object offse for some reason, which is slightly annoying. There's onlly a couple of things that can go wrong with readp() that returns EINVAL.. Adrian