GNOME Bugzilla – Bug 661758
Webkit webbrowsers segfault on https websites if proxy enabled
Last modified: 2011-10-20 15:57:44 UTC
Midori, uzbl and Epiphany segfaults with libsoup 2.36.0 on https websites if a proxy is enabled. Everything works fine with libsoup 2.34.3 Trace with libsoup 2.36.0: http://pastebin.com/YbdABk2f git bisect log: http://pastebin.com/81ERVmHF first bad commit: http://pastebin.com/6r8Hds8n diff of the first bad commit: http://pastebin.com/8rddGTpY
Backtrace with libsoup 2.36.0 and epiphany 3.2.0 Starting program: /usr/bin/epiphany [Thread debugging using libthread_db enabled] [New Thread 0x7fffe763b700 (LWP 11793)] [New Thread 0x7fffe6e3a700 (LWP 11794)] [New Thread 0x7fffe1bce700 (LWP 11795)] [New Thread 0x7fffa12b3700 (LWP 11796)] [New Thread 0x7fff9f96e700 (LWP 11801)] [New Thread 0x7fff9f16d700 (LWP 11802)] [New Thread 0x7fff9e46c700 (LWP 11803)] [New Thread 0x7fff9dc6b700 (LWP 11804)] [New Thread 0x7fff9d46a700 (LWP 11805)] [New Thread 0x7fff9cc69700 (LWP 11806)] [New Thread 0x7fff9c468700 (LWP 11807)] [New Thread 0x7fff9bc67700 (LWP 11808)] [New Thread 0x7fff9b466700 (LWP 11809)] [New Thread 0x7fff9ac65700 (LWP 11810)] [New Thread 0x7fff9a464700 (LWP 11811)] [New Thread 0x7fff99c63700 (LWP 11812)] [New Thread 0x7fff99462700 (LWP 11813)] [New Thread 0x7fff98c61700 (LWP 11814)] [New Thread 0x7fff98460700 (LWP 11815)] [New Thread 0x7fff97c5f700 (LWP 11816)] [New Thread 0x7fff9745e700 (LWP 11817)] [New Thread 0x7fff96c5d700 (LWP 11818)] [New Thread 0x7fff9645c700 (LWP 11819)] [New Thread 0x7fff95229700 (LWP 11820)] [Thread 0x7fff98c61700 (LWP 11814) exited] [Thread 0x7fff9f96e700 (LWP 11801) exited] [Thread 0x7fff9b466700 (LWP 11809) exited] [Thread 0x7fff9645c700 (LWP 11819) exited] [Thread 0x7fff9e46c700 (LWP 11803) exited] [Thread 0x7fff98460700 (LWP 11815) exited] [Thread 0x7fff99462700 (LWP 11813) exited] [Thread 0x7fff99c63700 (LWP 11812) exited] [Thread 0x7fff9a464700 (LWP 11811) exited] [Thread 0x7fff9ac65700 (LWP 11810) exited] [Thread 0x7fff9bc67700 (LWP 11808) exited] [Thread 0x7fff9c468700 (LWP 11807) exited] [Thread 0x7fff9cc69700 (LWP 11806) exited] [Thread 0x7fff9d46a700 (LWP 11805) exited] [Thread 0x7fff9dc6b700 (LWP 11804) exited] [Thread 0x7fff96c5d700 (LWP 11818) exited] [Thread 0x7fff9745e700 (LWP 11817) exited] Program received signal SIGSEGV, Segmentation fault. soup_socket_is_ssl (sock=0x0) at soup-socket.c:1079 1079 return priv->ssl_creds != NULL; Continuing. [Thread 0x7fff95229700 (LWP 11820) exited] [Thread 0x7fff97c5f700 (LWP 11816) exited] [Thread 0x7fff9f16d700 (LWP 11802) exited] [Thread 0x7fffa12b3700 (LWP 11796) exited] [Thread 0x7fffe1bce700 (LWP 11795) exited] [Thread 0x7fffe6e3a700 (LWP 11794) exited] [Thread 0x7fffe763b700 (LWP 11793) exited] Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists.
git bisect: git bisect start # bad: [6f124944a9812b7aa914c2724c075bd39028da57] 2.36.0 git bisect bad 6f124944a9812b7aa914c2724c075bd39028da57 # good: [48fcf64390444f671c04defa149b79759dfd3305] 2.34.3 git bisect good 48fcf64390444f671c04defa149b79759dfd3305 # good: [cc09f4c99bca9748942eacb869d745083f6675e8] 2.34.1 git bisect good cc09f4c99bca9748942eacb869d745083f6675e8 # good: [19046ba6eab37c153b8e43cd6a5b212590f7b374] 2.35.4 git bisect good 19046ba6eab37c153b8e43cd6a5b212590f7b374 # bad: [f8e049184dd09117b9f545b4e51cba7785330f72] Add SOUP_MESSAGE_CAN_REBUILD, for regeneratable streamed request bodies git bisect bad f8e049184dd09117b9f545b4e51cba7785330f72 # good: [08d2505a429ba408ba47de50e29ea5ea57aefb4d] Soup-2.4.gir: add missing introspection data from Vala bindings git bisect good 08d2505a429ba408ba47de50e29ea5ea57aefb4d # bad: [6b2b958f588526fac12ccf8b73d14afd2195957f] Call soup_message_clean_response() when restarting a message git bisect bad 6b2b958f588526fac12ccf8b73d14afd2195957f # bad: [5ddafe9abc8b594016f401c0b53a481e706e74c6] Default to TLS for https connections, and fall back to SSLv3 on failure git bisect bad 5ddafe9abc8b594016f401c0b53a481e706e74c6 # bad: [ca6f8d53ab3dbbfee1cfb56d080f44afc4b0e5b4] SoupConnection: do TLS handshake at connection time git bisect bad ca6f8d53ab3dbbfee1cfb56d080f44afc4b0e5b4 ca6f8d53ab3dbbfee1cfb56d080f44afc4b0e5b4 is the first bad commit commit ca6f8d53ab3dbbfee1cfb56d080f44afc4b0e5b4 Author: Dan Winship <danw@gnome.org> Date: Sun Aug 7 12:10:45 2011 -0400 SoupConnection: do TLS handshake at connection time Previously, when connecting to an https site, the TLS handshake didn't happen until we started writing the request. Change it so that it now happens as part of SoupConnection connecting. :040000 040000 4f25640c9b694c37e9adcbf48f597bc946a2bf0b 8475d480510f5dc94ab364c497b9a380028b003f M libsoup
better trace from arch bugtracker soup_socket_is_ssl (sock=0x0) at soup-socket.c:1079 1079 soup-socket.c: No such file or directory. in soup-socket.c (gdb) bt
+ Trace 228798
do any warnings get printed? also, what version of glib-networking do you have installed?
(midori:19415): GLib-GIO-CRITICAL **: g_tls_connection_handshake_finish: assertion `G_IS_TLS_CONNECTION (conn)' failed (midori:19415): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (midori:19415): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:19415): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:19415): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:19415): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:19415): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** (midori:24313): WARNING **: Error loading plugin: libhspell.so.0: cannot open shared object file: No such file or directory (midori:24313): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (midori:24313): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:24313): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:24313): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:24313): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:24313): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed (midori:28393): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (midori:28393): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:28393): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:28393): GLib-GObject-WARNING **: invalid (NULL) pointer instance (midori:28393): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (midori:28393): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed
glib-networking 2.30.0-1 ubuntu has the same issue here with gnome-online-accounts: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/862480
glib-networking 2.30.0 also. warnings: (epiphany:2544): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (epiphany:2544): GLib-GObject-WARNING **: invalid (NULL) pointer instance (epiphany:2544): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (epiphany:2544): GLib-GObject-WARNING **: invalid (NULL) pointer instance (epiphany:2544): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (epiphany:2544): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed segmentation fault
libsoup 2.36.1 seems to solve the problem. Thank you.