On 07 Sep 2015, at 23:19, Sebastian Wiedenroth <sebastian.wiedenr...@skylime.net> wrote: > > >> Am 07.09.2015 um 21:34 schrieb Timo Sirainen <t...@iki.fi>: >> >> On 07/16/2015 06:03 PM, Sebastian Wiedenroth wrote: >>> Fix hang in safe_sendfile on SmartOS >>> >>> The call to sendfile on SmartOS can fail with EOPNOTSUPP. This is a valid >>> error >>> code and documented in the man page. This error code needs to be handled or >>> else dovecot will retry the sendfile call endlessly and hang. >> >> Committed .. However, I think a more important bug is that it hangs. >> It's definitely not supposed to hang. Which process was it that was >> hanging How can I reproduce that? I can only get it to disconnect the >> IMAP client. > > > Thanks! > > It was the managesieve process that was hanging. > To trigger it we used sieve-connect [1] like this: > sieve-connect -u d...@example.com mailbox.example.com
Thanks. I did find a bug in Pigeonhole with this when issuing a GET command :) Also I see now why it's looping, more or less. sendfile() is still indicating that it's sending some data (by updating s_offset) even though it's returning a failure. I wonder if reverting the earlier EOPNOTSUPP change and applying this patch causes it to assert-crash instead of going to infinite loop? http://hg.dovecot.org/dovecot-2.2/rev/f6dd24658fb1