Modify

Ticket #2936 (closed Bugs: fixed)

Opened 5 years ago

Last modified 5 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:

Description

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  http://wrongpc.blogspot.com/2009/03/boost-asio-for-windows-pipe-bug.html It can fix the problem, but the method needs to change boost asio source code, so it's not very convenient.

Attachments

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

Change History

Changed 5 years ago by KHaiFeng@…

source code to reproduce the bug

comment:1 Changed 5 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.

View

Add a comment

Modify Ticket

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


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

 
Note: See TracTickets for help on using tickets.