On Sun, 29 Jan 2006, Graham Dumpleton wrote:

Grisha wrote ..

             buffer = bufsize;


I suspect you mean't:

            buffer += bufsize;

buffer = bufsize should be correct because you move the pointer to the end of where the bufer was. buffer += bufsize would set it further than you need it.

Anyway, this change doesn't help with Mac OS X as it doesn't even get invoked.

Unlike suggestions by someone else that "self" seemed to be getting corrupted,
it looks fine to me, and code simply crashed down in:

 apr_bucket_read(b, &data, &size, APR_BLOCK_READ)

on very first call to it. Thus need to start tracking into Apache itself and 
see what
there may be about bucket structures that isn't correct. This is where I got to
last time before I gave up, feeling it wasn't worth the effort at the time. 
I'll try
and build a version of Apache with debug so I can get a better stack trace.

The first thing I'd check is for validity of b. Buckets use reference counting much like Python, so sometimes it's possible for a bucket to "self-distruct".

Grisha

Reply via email to