Boost logo

Boost :

Subject: Re: [boost] Is the async_read more reliable than async_read_some?
From: hh h (jupiter.hce_at_[hidden])
Date: 2018-12-09 04:46:50


Yes, I am doing the debug to further chasing it down...

Thanks Steven.

On 12/9/18, Steven Watanabe via Boost <boost_at_[hidden]> wrote:
> AMDG
>
> On 12/08/2018 06:50 PM, hh h wrote:
>>> How does it crash? There's no fundamental reason
>>> why prepending your own header with the size
>>> wouldn't work.
>>
>> I sent 4 bytes header and 221 bytes messages repeatedly (every 2
>> seconds) calling from async_write of a sender, the receiver works
>> correctly and perfectly at async_read for a couple minutes, then it
>> crashed in the statement of readMessageBody for 221 bytes message at
>> async_read(socket_, boost::asio::buffer(buffer, size), ....), where
>> the size = 221n I don't think it is related to my program, either some
>> bugs in async_read or libssl. Here is my debug:
>>
>>
>> Read body size = 221
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x00007ffff69d4c01 in __GI___libc_free (mem=0x5555557f7770) at
>> malloc.c:3123
>> 3123 malloc.c: No such file or directory.
>>
>> (gdb) backtrace
>> #0 0x00007ffff69d4c01 in __GI___libc_free (mem=0x5555557f7770)
>> at malloc.c:3123
>> #1 0x00007ffff796a8fc in ?? () from
>> /usr/lib/x86_64-linux-gnu/libssl.so.1.1
>> #2 0x00007ffff796a139 in ?? () from
>> /usr/lib/x86_64-linux-gnu/libssl.so.1.1
>> #3 0x00007ffff796f9aa in ?? () from
>> /usr/lib/x86_64-linux-gnu/libssl.so.1.1
>> #4 0x00007ffff79797d5 in SSL_read ()
>> from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
>> #5 0x00005555555665b1 in boost::asio::ssl::detail::engine::do_read (
>> this=0x5555557d0fe0, data=0x5555557f7765, length=221)
>> at /usr/include/boost/asio/ssl/detail/impl/engine.ipp:309
>>
>> ........
>>
>> (gdb) print (char *)mem
>> $2 = 0x5555557f7770 "n\226"
>>
>
> This looks like some kind of memory corruption,
> possibly a double free. Have you tried valgrind
> or addrsan?
>
> In Christ,
> Steven Watanabe
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk