A clue about Linux crashes

Case number:845829-996876
Topic:Crash/Hang
Opened by:ferrieux
Status:Open
Type:Bug
Opened on:Saturday, February 8, 2014 - 19:23
Last modified:Sunday, February 9, 2014 - 00:03

Using the latest Linux x64 binary, I get frequent crashes within minutes of startup.
Contrarily to other reports (Abort, heap issue), this is an exit without any message.
So I re-ran under gdb at got extra insight: the process dies with SIGPIPE (which explains why there is no message). Looking at the stack trace we see that happens while closing a socket. Apparently the SSL layer attempts to flush pending writes while closing; if the socket was closed remotely, that is wrong (or should at least prepare to handle the SIGPIPE).

Hope this helps,

-Alex

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7f8cdcd73700 (LWP 19171)]
0x00007f8cfffe1b0d in write () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) where
#0 0x00007f8cfffe1b0d in write () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007f8cfeac66d5 in sock_write ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#2 0x00007f8cfeac5157 in BIO_write ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#3 0x00007f8cfea97018 in ssl3_write_pending ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#4 0x00007f8cfea97563 in ssl3_dispatch_alert ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#5 0x00007f8cfea94903 in ssl3_shutdown ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#6 0x00007f8cfea72704 in Curl_ossl_close ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#7 0x00007f8cfea69cd6 in Curl_disconnect ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#8 0x00007f8cfea69f0c in Curl_done ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#9 0x00007f8cfea7884f in Curl_do_perform ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#10 0x00007f8cfc5156c2 in game::application::novice::boinc::CurlFetcher::exec_curl() () from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#11 0x00007f8cfc50f6e0 in game::application::novice::boinc::Boinc::process_form(std::string const&, bool, std::string&, utility::pointer::owning_ptr) ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#12 0x00007f8cfc50fe49 in game::application::novice::boinc::Boinc::send_sops()
() from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#13 0x00007f8cfc298fdd in game::application::novice::BoincThread::periodically_send_and_check_boinc() ()
from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#14 0x00007f8cfc716cd2 in interactive::application::Thread::thread_entry_func()
() from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#15 0x00007f8cfc716ff9 in interactive::application::Thread::pthread_startup_helper(void*) () from cmp-binary-937ea6485d5daccfda247c3ff7a5a4e1/game_library.so
#16 0x00007f8cfa2ecb50 in start_thread (arg=)
at pthread_create.c:304
#17 0x00007f8cfffeda7d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#18 0x0000000000000000 in ?? ()

(Sat, 02/08/2014 - 19:23  |  2 comments)


Joined: 02/08/2014
Groups: None

Here is the end of the offending socket's life, as seen from tshark.
Confirms earlier suspicion that the closure is server-originated (packet 28)

23 6.271001 192.168.1.21 -> 128.95.1.17 TCP 1506 [TCP segment of a reassembled PDU]
24 6.271015 192.168.1.21 -> 128.95.1.17 TCP 1506 [TCP segment of a reassembled PDU]
25 6.271026 192.168.1.21 -> 128.95.1.17 TCP 1506 [TCP segment of a reassembled PDU]
26 6.387956 128.95.1.17 -> 192.168.1.21 TLSv1 103 Encrypted Alert
27 6.387975 192.168.1.21 -> 128.95.1.17 TCP 66 48068 > https [ACK] Seq=6034 Ack=5434 Win=29056 Len=0 TSval=10925498 TSecr=1231015941
28 6.388975 128.95.1.17 -> 192.168.1.21 TCP 66 https > 48068 [FIN, ACK] Seq=5434 Ack=1421 Win=10368 Len=0 TSval=1231015941 TSecr=10924228
29 6.426083 192.168.1.21 -> 128.95.1.17 TCP 66 48068 > https [ACK] Seq=6034 Ack=5435 Win=29056 Len=0 TSval=10925508 TSecr=1231015941
30 6.460362 128.95.1.17 -> 192.168.1.21 TCP 60 https > 48068 [RST] Seq=5397 Win=0 Len=0
31 7.054086 192.168.1.21 -> 128.95.1.17 TLSv1 359 [TCP Retransmission] Application Data
32 7.244181 128.95.1.17 -> 192.168.1.21 TCP 60 https > 48068 [RST] Seq=5435 Win=0 Len=0

Joined: 02/08/2014
Groups: None

Also note that masking SIGPIPE (in shell) doesn't help much: instead of exiting on the signal, it segfaults...

Sitemap

Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, RosettaCommons