FS#26206 - [midori] libsoup crashes midori when accessing bugs.archlinux.org
Attached to Project:
Arch Linux
Opened by Fabien COUTANT (fcoutant) - Sunday, 02 October 2011, 18:50 GMT
Last edited by Andreas Radke (AndyRTR) - Sunday, 23 October 2011, 08:39 GMT
Opened by Fabien COUTANT (fcoutant) - Sunday, 02 October 2011, 18:50 GMT
Last edited by Andreas Radke (AndyRTR) - Sunday, 23 October 2011, 08:39 GMT
|
Details
Description:
crash when accessing bugs.archlinux.org I tracked down to today's libsoup upgrade from 2.34.3-1 to 2.36.0-1. Additional info: * package version(s) midori 0.4.0-1 libwebkit 1.6.1-1 libsoup 2.34.3-1 glibc 2.14-6 * config and/or log files etc. errors in xsession (supposedly): (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 * enabled extensions: adblock, color tabs, cookie mgr, form history filler, statusbar features, tab panel Steps to reproduce: First call www.archlinux.org in a new tab. Then click "Bugs" in the head bar... and pouf, midori vanishes after loading a bit of the page. |
This task depends upon
I didn't see glib-networking was a dependency at first; Now I've tried to downgrade it separately from libsoup but it's not the trigger : only the libsoup downgrade allows me to get here.
Uli is right about the proxy : it seems to be another part of the trigger.
When I disable it at home (where I use privoxy) I can then browse here with the latest libsoup.
Unfortunately I can't get by at work without the enterprise proxy :( so it's not a viable solution and I'm back downgrading libsoup and blocking it at the previous version.
recompile libsoup/glib-networking/midori with debug symbols, get a trace and let us see it.
https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#One_package_settings_only
default/midori/libmidori-core.a(midori-view_1.o): In function `midori_view_has_selection':
/home/INSTALL/arch/build/midori/src/midori-0.4.0/_build_/../midori/midori-view.c:4194: undefined reference to `webkit_web_view_get_selected_text'
collect2: ld returned 1 exit status
and 0.4.0-2 (which, BTW, seems to correct #26207, thanks) didn't make it to git/abs yet.
I will have to retry it later.
Program received signal SIGSEGV, Segmentation fault.
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
#0 soup_socket_is_ssl (sock=0x0) at soup-socket.c:1079
#1 0xb76af1fc in new_iostate (msg=0x883a2d0, sock=0x0, mode=SOUP_MESSAGE_IO_CLIENT,
get_headers_cb=0xb76ad14b <get_request_headers>,
parse_headers_cb=0xb76acf80 <parse_response_headers>, header_data=0x887e010,
completion_cb=0xb76bc4c2 <message_completed>, completion_data=0x887e010)
at soup-message-io.c:1082
#2 0xb76b0a57 in soup_message_io_client (item=0x887e010,
get_headers_cb=0xb76ad14b <get_request_headers>,
parse_headers_cb=0xb76acf80 <parse_response_headers>, header_data=0x887e010,
completion_cb=0xb76bc4c2 <message_completed>, completion_data=0x887e010)
at soup-message-io.c:1120
#3 0xb76ad4a2 in soup_message_send_request (item=0x887e010,
completion_cb=0xb76bc4c2 <message_completed>, user_data=0x887e010)
at soup-message-client-io.c:146
#4 0xb769efa9 in soup_connection_send_request (conn=0xb332e0e8, item=0x887e010,
completion_cb=0xb76bc4c2 <message_completed>, user_data=0x887e010)
at soup-connection.c:819
#5 0xb76b94a1 in soup_session_send_queue_item (session=0x811a420, item=0x887e010,
completion_cb=0xb76bc4c2 <message_completed>) at soup-session.c:1259
#6 0xb76bc09d in process_queue_item (item=0x887e010, should_prune=0xbffff0fc, loop=1)
at soup-session-async.c:390
#7 0xb76bc2ae in run_queue (sa=<optimized out>) at soup-session-async.c:442
#8 0xb76bc9e6 in idle_run_queue (sa=0x811a420) at soup-session-async.c:465
#9 0xb7eb6ea0 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb7ebafef in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0xb7ebb720 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb7ebbd2b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0xb7b19c6f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x0806634c in main (argc=1, argv=0xbffff664) at ../midori/main.c:2537
#0 soup_socket_is_ssl (sock=0x0) at soup-socket.c:1079
it means that the sock is NULL and they try to use it
Perhaps the bug can be considered fixed?
I just did a git bisect, all results are here:
git bisect log: http://pastebin.com/81ERVmHF
first bad commit: http://pastebin.com/6r8Hds8n
first bad commit diff: http://pastebin.com/8rddGTpY
It looks like we have the exact opposit problem: for me it segfaults with 2.36.0 and works fine with 2.34.3
extra/midori 0.4.1-1
extra/libsoup 2.36.0-1
extra/libsoup-gnome 2.36.0-1 (just in case it has anything to do with it).
That's the point. Without proxy it works like a charm.