Here are some results for running the t/filter tests
with modperl_filter_new as

 modperl_filter_new(*f, *bb, mode, input_mode, block, readbytes)
{
     apr_pool_t *p;
     modperl_filter_t *filter;
     p = f->r ? f->r->pool : f->c->pool;
     filter = (modperl_filter_t *)
          apr_pcalloc(p, sizeof(modperl_filter_t));
...
}

with inserting a breakpoint just before and just after
the apr_pcalloc() call. It consistently fails on the
4th pass through modperl_filter_new:

1.

Before:
f: 0x0142f7e8
f->c: 0x0142f2f0
f->c->pool: 0x0142f1f0
bb: 0x0142f9e0
mode: 0
input_mode: 1
block: 0
readbytes: 8192
p: 0x0142f1f0 (= f->c->pool)
filter: null

After:
filter: 0x024f7ed8
the rest unchanged

2.

Before:
f: 0x0142f908
f->c: 0x0142f2f0
f->c->pool: 0x0142f1f0
bb: 0x0142f9e0
mode: 1
input_mode: 0
block: 0
readbytes: 0
p: 0x0142f1f0 (= f->c->pool)
filter: 0x0258f730

After:
filter: 0x025217c0
the rest unchanged

3.

Before:
f: 0x0142f7e8
f->c: 0x0142f2f0
f->c->pool: 0x0142f1f0
bb: 0x0142f9e0
mode: 0
input_mode: 1
block: 0
readbytes: 8192
p: 0x0142f1f0 (= f->c->pool)
filter: null

After:
filter: 0x025217c0
the rest unchanged

4.

Before:
f: 0x0142f908
f->c: 0x0142f2f0
f->c->pool: 0x0142f1f0
bb: 0x0142f9e0
mode: 1
input_mode: 0
block: 0
readbytes: 0
p: 0x0142f1f0 (= f->c->pool)
filter: 0x0258f6d0

After:
filter: 0x0142f1f0 (= p = f->c->pool before apr_pcalloc)
f: 0x0142f908
f->c: null
f->c->pool: null

Does anything jump out as being wrong, leading up to
f->c becoming null?

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to