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
