Thus said Gerald Gutierrez on Sat, 10 May 2014 01:53:56 -0700:

> frame #8: 0x0000000105719ba2 fossil`ssl_receive(NotUsed=<unavailable>,
> pContent=<unavailable>, N=<unavailable>) + 50 at http_ssl.c:399
>    396   size_t got;
>    397   size_t total = 0;
>    398   while( N>0 ){
> -> 399     got = BIO_read(iBio, pContent, N);
>    400     if( got<=0 ) break;
>    401     total += got;
>    402     N -= got;
> 

So, it's blocking in the BIO_read function. Hard to say why without more
data about both ends. netstat -na  (on both sides) will probably provide
some interesting  information (e.g. are  there blocks of data  queued in
either Recv-Q or Send-Q on either end of the ESTABLISHED connection).

gdb on the remote fossil would provide some other details.

I did find this particular comment about using BIO_read and non-blocking
I/O in OpenBSD's manpage (specifically the last sentence):

       One technique sometimes used with  blocking sockets is to use
       a system  call (such  as select(),  poll() or  equivalent) to
       determine when data is available and then call read() to read
       the data. The equivalent with  BIOs (that is call select() on
       the underlying I/O structure and then call BIO_read() to read
       the  data)  should not  be  used  because  a single  call  to
       BIO_read() can cause several reads (and writes in the case of
       SSL BIOs) on the underlying I/O  structure and may block as a
       result. Instead  select() (or equivalent) should  be combined
       with  non blocking  I/O so  successive reads  will request  a
       retry instead of blocking.

I'm  not sure  if using  this technique  would fare  any better  without
understanding  why  it's  blocking.  Is there  a  firewall  reacting  to
something it doesn't  like? Some other network problem  that exists like
lost packets? Does it only happen when using cron? If so, why?

Andy
-- 
TAI64 timestamp: 40000000536e49ee


_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to