Re: [squid-users] COSS causing squid Segment Violation on FreeBSD 6.2S

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 26 Apr 2007 21:27:02 +0800

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
Received on Thu Apr 26 2007 - 07:14:16 MDT

This archive was generated by hypermail pre-2.1.9 : Tue May 01 2007 - 12:00:01 MDT