Boost logo

Boost Users :

Subject: [Boost-users] asio stability and scalability
From: Eric Twietmeyer (zimbus26_at_[hidden])
Date: 2009-10-19 09:36:37


Hello,

The project I am involved with required porting a Windows only networking
application that was using the WSAAsynSelect mechanism to GNU/Linux, while
remaining Windows compatible. We chose Boost asio as the framework to use.

After spending time with asio and understanding it, the port was relatively
straight forward. It basically works, both on Windows and on GNU/Linux.

However, on both systems we are now running into stack corruptions. We have
spent quite a few weeks now trying to track this down, mostly on Windows, as
we have access to very many tools on that platform. We have verified that
all underlying Win32 (and Winsock) function calls are valid (all parameters
check), that our heap is not corrupt (all memory allocations and
deallocations are clean), and we have eliminated all threading issues by
restructuring the code to be runnable on a single io_service::run() thread
(and Intel's Thread Checker found no issues either). We have done many
other verifications as well, everything comes out clean.

At this point we have to strongly consider the possibility that it is asio
itself that is causing this error, though we are quite at a loss to explain
how asio could result in this behavior.

So we are wondering, are there known large production systems out there that
use asio? Are there high volume web servers for instance written with asio?
I came across this comment:

http://dobbscodetalk.com/index.php?option=com_content&task=view&id=1700&Itemid=85

which, if true, would also imply that asio is perhaps not appropriate for
high throughput applications, at least on GNU/Linux systems.

My basic question is: Do people have success stories using asio in
production applications? Have people used other frameworks, for instance
ACE, and can comment on how they compare? Have others ran into random
crashes and given up on using asio?

Thanks for any feedback,

-Eric


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net