Jeff Trawick <[EMAIL PROTECTED]> writes: > Justin Erenkrantz <[EMAIL PROTECTED]> writes: > > > One so far in /usr/local/apache/corefiles/httpd.core.1, but I'm not > > sure how this even happened: > > I looked at this today. It is an oldie but a goodie. We've been > getting these very infrequently as long as we've been running 2.0 on > daedalus. > > >How did we bypass that rv != APR_SUCCESS check? We should have bailed > >out since rv == 20132. > > must be that gdb doesn't know what register rv lives in at the moment > > > And, I think that this tmplen > 0 should be tmplen >= 0 regardless. > > Isn't it possible to send 0 bytes? -- justin > > I've never heard of such a semantic for a send-type call. You should > get -1/EAGAIN-or-EWOULDBLOCK. > > As I suggested to Greg privately, to really nail it as a FreeBSD bug: > > Right before the sendfile call, assert that we're telling it to send > some bytes... right after the sendfile call, assert that if rv == 0 > then it sent some bytes The problem is that after putting in such > code, it may not hit for 6 months (or 6 minutes), so it is hard to get > feedback in a timely basis.
news flash... I hit this assert yesterday on *Linux* when debugging an apr_file_seek() problem which broke mod_negotiation with large .var files... the apr_file_seek() problem resulted in mod_negotiation creating a file bucket with a bogus offset and length (the offset was actually beyond the end of the file)... Linux didn't get upset and instead simply told me it sent 0 bytes from the file -- Jeff Trawick | [EMAIL PROTECTED] Born in Roswell... married an alien...