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
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andreas Radke (AndyRTR)
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

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

Closed by  Andreas Radke (AndyRTR)
Sunday, 23 October 2011, 08:39 GMT
Reason for closing:  Fixed
Comment by Ionut Biru (wonder) - Sunday, 02 October 2011, 19:28 GMT
what glib-networking and gnutls version?
Comment by Uli (Army) - Sunday, 02 October 2011, 21:16 GMT
I did get such messages with luakit when I had proxy enabled. Disabling the proxy solves the problem, luakit becomes rock stable again. I guess it's the same problem with midori.
Comment by Fabien COUTANT (fcoutant) - Monday, 03 October 2011, 16:12 GMT
glib-networking is 2.30.0-1, and gnutls is 3.0.3-1.
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.
Comment by Ionut Biru (wonder) - Monday, 03 October 2011, 16:31 GMT
now do this.

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
Comment by Fabien COUTANT (fcoutant) - Monday, 03 October 2011, 17:00 GMT
recompiled libsoup and glib-networking with your instructions, but am blocked at midori because 0.4.0-1 doesn't build:

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.
Comment by Fabien COUTANT (fcoutant) - Monday, 03 October 2011, 17:10 GMT
If this can help, I managed to build 0.4.0-1 by downgrading libwebkit. Here's the stack trace:

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
Comment by Ionut Biru (wonder) - Monday, 03 October 2011, 17:12 GMT
now open a bug on gnome bugzilla, libsoup product and paste the whole trace.

#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
Comment by Alexander F. Rødseth (xyproto) - Tuesday, 04 October 2011, 11:24 GMT
Works with midori-git. I assume this is fixed upstream.
Comment by Polo (lihato) - Thursday, 13 October 2011, 21:25 GMT
Same problem with midori, midori-git and uzbl with libsoup 2.36.0, everything works fine with libsoup 2.34.3
Comment by Alexander F. Rødseth (xyproto) - Thursday, 13 October 2011, 21:29 GMT
libsoup is now at 2.36.0 and midori works fine with bugs.archlinux.org here (x86_64).

Perhaps the bug can be considered fixed?
Comment by Ionut Biru (wonder) - Thursday, 13 October 2011, 21:30 GMT
is not fixed until the package from our repo is fixed
Comment by Alexander F. Rødseth (xyproto) - Thursday, 13 October 2011, 22:17 GMT
works with the package from the repo here (x86_64)
Comment by Polo (lihato) - Thursday, 13 October 2011, 23:03 GMT
Are you sure Alexander ? It does not work here (same arch). Midori, midori-git and uzbl are still crashing on some https websites if a proxy is enabled.

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
Comment by Ionut Biru (wonder) - Friday, 14 October 2011, 04:12 GMT
thanks ewloni. can you let upstream know about it and paste the link here?
Comment by Polo (lihato) - Friday, 14 October 2011, 12:11 GMT Comment by Ionut Biru (wonder) - Friday, 14 October 2011, 12:51 GMT
thanks. better paste the backtrace as a new comment, as well as the first bad commit to preserve better the history
Comment by Andreas Radke (AndyRTR) - Saturday, 15 October 2011, 10:31 GMT
So shouldn't we change the assignies + topic to libsoup/webkit? It seems to be not midori related.
Comment by Alexander F. Rødseth (xyproto) - Saturday, 15 October 2011, 17:16 GMT
ioni, yes, it works here. No proxy, though. x86_64.
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).
Comment by Polo (lihato) - Saturday, 15 October 2011, 17:45 GMT
> No proxy, though

That's the point. Without proxy it works like a charm.
Comment by Ionut Biru (wonder) - Saturday, 15 October 2011, 17:46 GMT
upstream knows about this issue. lets wait for a fix
Comment by Polo (lihato) - Thursday, 20 October 2011, 15:56 GMT
today's updates seem to solve the problem.
Comment by Fabien COUTANT (fcoutant) - Sunday, 23 October 2011, 07:08 GMT
Yes, I just tried an upgrade of libsoup and it seems fixed now.

Loading...