Ticket #2936 (closed Bugs: fixed)

Opened 6 years ago

Last modified 6 years ago

ASIO crashes when reads data from Windows Pipe

Reported by: KHaiFeng@… Owned by: chris_kohlhoff
Milestone: Boost 1.39.0 Component: asio
Version: Boost 1.38.0 Severity: Problem
Keywords: Cc:


I found another problem in boost asio library.

I created a pipe server and keep it reading from a windows pipe(read 128 bytes for each operation). Then I created a pipe client to write 257 bytes data to the pipe and the programs crashes at the "operation::do_completion" routine. I have attached the program with full source code, so you can reproduce it (written in VC2008).

A possible solution to this problem is located at It can fix the problem, but the method needs to change boost asio source code, so it's not very convenient.


More_read_error.7z Download (184.7 KB) - added by KHaiFeng@… 6 years ago.
source code to reproduce the bug

Change History

Changed 6 years ago by KHaiFeng@…

source code to reproduce the bug

comment:1 Changed 6 years ago by chris_kohlhoff

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in changeset [52419]:

Specifically handle the case when an overlapped ReadFile?? call fails with ERROR_MORE_DATA. This enables a hack where a windows::stream_handle can be used with a message-oriented named pipe.


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.