[Chilli] chilli_redir hung on reading from unavailable socket

Wichert Akkerman wichert at wiggy.net
Sun Jun 13 13:00:44 UTC 2010


Almost forgot I extracted a backtrace by attaching gdb to the spinning 
chilli_redir process:

#0  0xb7f1a424 in __kernel_vsyscall ()
#1  0xb7c8d1e3 in read () from /lib/i686/cmov/libc.so.6
#2  0xb7dcb257 in ?? () from /usr/lib/i686/cmov/libcrypto.so.0.9.8
#3  0x0000000c in ?? ()
#4  0x08e31350 in ?? ()
#5  0x00000005 in ?? ()
#6  0xb7e62124 in ?? () from /usr/lib/i686/cmov/libcrypto.so.0.9.8
#7  0x08dab308 in ?? ()
#8  0x00000000 in ?? ()


On 2010-6-13 14:17, Wichert Akkerman wrote:
> r345 worked flawlessly for 4 days, but unfortunately showed the same
> symptom today:
>
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
> read(12, 0x8e31350, 5) = -1 EAGAIN (Resource temporarily unavailable)
>
> as you can see the strace is very similar, but has two differences:
> there is no time(NULL) call in between the read() calls, and this is a
> different fd (12, while I was seeing 25 before).
>
>
> On 2010-6-8 09:17, David Bird wrote:
>> Btw, the problem was reproducible (without waiting) by telneting to
>> https://uamasliasip/ and just hit<enter>. Previously, this would start
>> the looping on read() as it attempts ssl negotiation.
>>
>> On Tue, 2010-06-08 at 09:13 +0200, Wichert Akkerman wrote:
>>> On 6/7/10 12:19 , David Bird wrote:
>>>> See revision 345. There was an issue when using chilli_redir and
>>>> openssl
>>>> and looping instead of returning during ssl accept. chilli_redir
>>>> handles
>>>> UAM connections asynchronously, whereas when you don't compile with
>>>> --enable-chilliredir connections are handled by a forked process (and
>>>> hence will block on accept/read/write).
>>>
>>> Great! I've deployed r345 last night so I should know within 2-3 days of
>>> this helped.
>>>
>>> Wichert.
>>> _______________________________________________
>>> Chilli mailing list
>>> Chilli at coova.org
>>> http://lists.coova.org/cgi-bin/mailman/listinfo/chilli
>>
>>
>
>


-- 
Wichert Akkerman <wichert at wiggy.net>   It is simple to make things.
http://www.wiggy.net/                  It is hard to make things simple.


More information about the Chilli mailing list