Re: Coredump on daedalus?

2002-03-12 Thread Jeff Trawick

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



Re: Coredump on daedalus?

2002-02-19 Thread Jeff Trawick

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.

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
   http://www.geocities.com/SiliconValley/Park/9289/
 Born in Roswell... married an alien...