[Date Prev][Date Next]
Re: (ITS#3671) disconnecting a syncrepl consumer deadlocks the provider
Ralf Haferkamp wrote:
>On Thursday 28 April 2005 15:27, email@example.com wrote:
>>>Well I have to correct myself a bit it doesn't really crash, but
>>>runs into an assertion:
>>>lt-slapd: connection.c:634: connection_destroy: Assertion
>>>`c->c_writewaiter == 0' failed.
>>This is puzzling, since connection_closing() signals the writer
>>condition, but your stack trace shows that the writer is still in the
>>condition wait. I don't have any good ideas here at the moment.
>Might that be because that the thread that executes connection_closing()
>doesn't release the c_mutex after signaling the condition (c_write_cv)?
>If I understand the pthread_cond_* docs correctly the writer is then
>waiting to get the c_mutex, but never gets it.
Yep, that was it. This is now fixed.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support