problem in samba 3.6 async event code.
Herb Lewis
hlewis at panasas.com
Thu Aug 11 17:45:25 MDT 2011
I've been tracking down a test failure in winbindd with one of
our tests that use multiple threads sending requests to winbindd.
Using wireshark and soem extra debug prints I was able to track it
down to code in lib/async_req/async_sock.c in the function
writev_handler.
The sequence goes like this.
Client sends a packet with 1 request
winbindd ACKS and starts processing
client sends a packet with 4 requests
winbindd ACKS
winbindd finishes processing and tries to send reply but
because there are bytes on the socked the check below is triggered
if (state->err_on_readability) {
/* Readable and the caller wants an error on read. */
tevent_req_error(req, EPIPE);
return;
}
and the write is never sent and winbind_client_response_written
returns error 32 (EPIPE);
What is the purpose of this state->err_on_readability code?
More information about the samba-technical
mailing list