On 04.11.2010 08:36, Ruediger Pluem wrote:
On 11/04/2010 01:34 AM, Rainer Jung wrote:
On 04.11.2010 00:57, Graham Leggett wrote:
On 03 Nov 2010, at 10:28 PM, Stefan Fritsch wrote:

Strange, I have these problems only with prefork, not with event.
But with event I get a segfault in the reslist cleanup code.

Can somebody cross-check this?

This smelled like a pool lifetime issue, and looking closer it looked
like we were cleaning up a brigade after we had returned the backend to
the pool. The attached patch stops the crash, and it seems to run at a
sensible speed again (I suspect the late cleanup of the brigade was
sending the code into a spin). Can you give it a try?

 From just looking at the code this seems to be the correct thing to do.

OK, I'll let Graham commit that one.

Your patch fixes the crashes for me. All tests pass if the following
patch is also applied. Otherwise worker hangs.

I don't know, whether that is the right thing to add, especially since
"cleared" now has a use very similar to "inreslist". The patch is an
addon to r1026665 where the "cleaned" flag was introduced, occassionally
set to "1" and tested against "0", but never reset.

...

Yeah, this is correct. As I reviewed the patch initially I thought the reset
would happen through an regular apr_pcalloc  for conn, but this is not the case.
So the reset is the correct thing to do here.

Committed in r1030850.

Regards,

Rainer

Reply via email to