GNOME Bugzilla – Bug 691489
Crash in Oscars 2013 page
Last modified: 2013-01-13 14:57:26 UTC
I get this crash fairly easily fooling around the Oscars 2013 page (http://oscar.go.com/nominees): Program received signal SIGSEGV, Segmentation fault. 0x00007ffff59b545e in soup_message_io_in_progress (msg=0x7fff580027b0) at soup-message-io.c:1199 1199 return priv->io_data != NULL; Missing separate debuginfos, use: debuginfo-install libXres-1.0.5-2.fc15.x86_64 libwebp-0.1.3-1.fc16.x86_64 libwnck3-3.2.1-2.fc16.x86_64 libxkbfile-1.0.7-2.fc15.x86_64 xcb-util-0.3.6-2.fc15.x86_64 (gdb) bt
+ Trace 231368
The new redirection code in WebKitGTK uses g_input_stream_skip_async(), which accidentally ends up doing I/O on the stream in another thread, which causes problems because the libsoup GInputStreams aren't threadsafe.
Created attachment 233354 [details] [review] GInputStream: fix default g_input_stream_skip_async() logic g_input_stream_real_skip_async() wants to use read_async() normally, but will use skip() in a thread instead if it sees that read_async() will end up using threads. Except that the test for "will read_async() use threads" never got updated to know about the GPollableInputStream support in read_async(), so it was doing the wrong thing in that case. Fix. Also remove a small bit of pre-GTask cruft noticed nearby.
Review of attachment 233354 [details] [review]: Looks fine to me
Attachment 233354 [details] pushed as 1738d5f - GInputStream: fix default g_input_stream_skip_async() logic