My Linux application sis using bool::asio::read_until() to read data from a socket.  The application also uses commercial, 3rd party hardware.  Occasionally my program crashes due to a SIGSEGV violation. 

 

The core dump stack trace is shown below.  It indicates that the 3rd party signal handler is invoked while my thread is waiting for socket I/O, and that the crash is occurring during signal handler execution.

 

While I recognize that this is an issue with the 3rd party vendor (and I am currently engaged in discussions with them), I’m wondering if my usage of boost is incorrect, or if there is something that I should be doing differently in performing socket I/O?

 

I am using boost v1.43.

 

cid:image001.png@01D17303.98B2DD10

 

E. Thomas Craig

Principal Software Engineer

SWIFT Division

KLA-Tencor Corporation

408-875-7909 (work)

650-799-4787 (cell)