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...

Reply via email to