After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 516008 - crash in Epiphany Web Browser: Seems to be avahi bookma...
crash in Epiphany Web Browser: Seems to be avahi bookma...
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: Bookmarks
2.22.x
Other All
: Urgent critical
: gnome-2-22
Assigned To: Epiphany Maintainers
Epiphany Maintainers
: 517804 517852 518909 519226 520514 520651 521489 522339 524330 526009 526460 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-02-12 13:11 UTC by Frej Soya
Modified: 2008-04-06 14:36 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
patch (2.51 KB, patch)
2008-02-27 15:51 UTC, Cosimo Cecchi
none Details | Review
better (?) patch (12.81 KB, patch)
2008-03-12 19:18 UTC, Christian Persch
none Details | Review

Description Frej Soya 2008-02-12 13:11:01 UTC
Version: 2.21.90

What were you doing when the application crashed?
Seems to be avahi bookmarks stuff  (Crashes a few seconds after launch). Repeatedly.


Distribution: Ubuntu 8.04 (hardy)
Gnome Release: 2.21.91 2008-02-12 (Ubuntu)
BugBuddy Version: 2.21.90

System: Linux 2.6.24-7-generic #1 SMP Thu Feb 7 01:29:58 UTC 2008 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10400090
Selinux: No
Accessibility: Disabled
GTK+ Theme: Darkilouche
Icon Theme: gnome

Memory status: size: 225927168 vsize: 225927168 resident: 63082496 share: 27820032 rss: 63082496 rss_rlim: 4294967295
CPU usage: start_time: 1202821756 rtime: 342 utime: 317 stime: 25 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/epiphany-browser'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb6b32b60 (LWP 20148)]
[New Thread 0xadfe9b90 (LWP 20163)]
[New Thread 0xb11ffb90 (LWP 20158)]
[New Thread 0xb1b38b90 (LWP 20156)]
[New Thread 0xb24abb90 (LWP 20155)]
[New Thread 0xb34adb90 (LWP 20154)]
[New Thread 0xb2cacb90 (LWP 20153)]
[New Thread 0xb3caeb90 (LWP 20150)]
[New Thread 0xb5852b90 (LWP 20149)]
0xb7f91410 in __kernel_vsyscall ()

Thread 1 (Thread 0xb6b32b60 (LWP 20148))

  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 IA__g_spawn_sync
    at /build/buildd/glib2.0-2.15.5/glib/gspawn.c line 374
  • #3 IA__g_spawn_command_line_sync
    at /build/buildd/glib2.0-2.15.5/glib/gspawn.c line 682
  • #4 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #5 nsProfileLock::FatalSignalHandler
    at nsProfileLock.cpp line 210
  • #6 <signal handler called>
  • #7 ephy_bookmark_action_updated
    at /build/buildd/epiphany-browser-2.21.90/src/bookmarks/ephy-bookmark-action.c line 624
  • #8 node_added_cb
    at /build/buildd/epiphany-browser-2.21.90/src/bookmarks/ephy-bookmark-action-group.c line 113
  • #9 callback
    at /build/buildd/epiphany-browser-2.21.90/lib/ephy-node.c line 134
  • #10 IA__g_hash_table_foreach
    at /build/buildd/glib2.0-2.15.5/glib/ghash.c line 1067
  • #11 ephy_node_emit_signal
    at /build/buildd/epiphany-browser-2.21.90/lib/ephy-node.c line 189
  • #12 ephy_node_add_child
    at /build/buildd/epiphany-browser-2.21.90/lib/ephy-node.c line 1086
  • #13 resolver_found_cb
    at /build/buildd/epiphany-browser-2.21.90/src/bookmarks/ephy-bookmarks.c line 984
  • #14 ga_signals_marshal_VOID__INT_ENUM_STRING_STRING_STRING_STRING_POINTER_INT_POINTER_INT
    at signals-marshal.c line 89
  • #15 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.5/gobject/gclosure.c line 490
  • #16 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.5/gobject/gsignal.c line 2440
  • #17 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.5/gobject/gsignal.c line 2199
  • #18 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.5/gobject/gsignal.c line 2243
  • #19 _avahi_service_resolver_cb
    at ga-service-resolver.c line 326
  • #20 avahi_service_resolver_event
    at resolver.c line 148
  • #21 filter_func
    at client.c line 256
  • #22 dbus_connection_dispatch
    from /usr/lib/libdbus-1.so.3
  • #23 dispatch_timeout_callback
    at ../avahi-common/dbus-watch-glue.c line 107
  • #24 dispatch_func
    at glib-watch.c line 254
  • #25 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.5/glib/gmain.c line 2064
  • #26 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.5/glib/gmain.c line 2697
  • #27 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.5/glib/gmain.c line 2905
  • #28 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.7/gtk/gtkmain.c line 1163
  • #29 main
    at /build/buildd/epiphany-browser-2.21.90/src/ephy-main.c line 737
  • #0 __kernel_vsyscall


----------- .xsession-errors (1468 sec old) ---------------------
** (epiphany-browser:18786): CRITICAL **: void gtk_moz_embed_get_nsIWebBrowser(GtkMozEmbed*, nsIWebBrowser**): assertion `GTK_IS_MOZ_EMBED(embed)' failed
** (epiphany-browser:18786): CRITICAL **: void gtk_moz_embed_get_nsIWebBrowser(GtkMozEmbed*, nsIWebBrowser**): assertion `GTK_IS_MOZ_EMBED(embed)' failed
** (epiphany-browser:18786): CRITICAL **: void gtk_moz_embed_get_nsIWebBrowser(GtkMozEmbed*, nsIWebBrowser**): assertion `GTK_IS_MOZ_EMBED(embed)' failed
** (epiphany-browser:18786): CRITICAL **: void gtk_moz_embed_get_nsIWebBrowser(GtkMozEmbed*, nsIWebBrowser**): assertion `GTK_IS_MOZ_EMBED(embed)' failed
** (epiphany-browser:18786): CRITICAL **: void gtk_moz_embed_get_nsIWebBrowser(GtkMozEmbed*, nsIWebBrowser**): assertion `GTK_IS_MOZ_EMBED(embed)' failed
sys:1: Warning: invalid uninstantiatable type `(null)' in cast to `EphyNetMonitor'
Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x4600003 (Evince Doc)
Window manager warning: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.
(gnome-terminal:18839): Vte-WARNING **: No handler for control sequence `device-control-string' defined.
--------------------------------------------------
Comment 1 Reinout van Schouwen 2008-02-12 15:18:25 UTC
The messages in .xsession-errors look a bit suspect...
Comment 2 Reinout van Schouwen 2008-02-21 12:43:20 UTC
*** Bug 517852 has been marked as a duplicate of this bug. ***
Comment 3 Reinout van Schouwen 2008-02-21 12:44:14 UTC
The dupe also has a good trace.
Marking NEW.
Comment 4 Christian Persch 2008-02-21 13:39:04 UTC
624        EphyNode *node = action->priv->node;

That could only crash if |action| was invalid at this point (since action->priv is initialised in the action's _init func).

In node_added_cb we call ephy_bookmark_action_new which already calls ephy_bookmark_action_updated via ephy_bookmark_action_set_bookmark, so the 2nd ephy_bookmark_action_updated call that it's crashing under in node_added_cb could go away.
Comment 5 Cosimo Cecchi 2008-02-22 11:33:39 UTC
*** Bug 517804 has been marked as a duplicate of this bug. ***
Comment 6 Christian Persch 2008-02-25 20:42:08 UTC
I removed that call; closing as fixed for now. Please reopen if this still happens with >= 2.21.92.
Comment 7 Priit Laes (IRC: plaes) 2008-02-26 19:55:57 UTC
*** Bug 518909 has been marked as a duplicate of this bug. ***
Comment 8 Priit Laes (IRC: plaes) 2008-02-26 19:56:32 UTC
Got a crash in 2.21.92 :(
Comment 9 Cosimo Cecchi 2008-02-27 15:51:45 UTC
Created attachment 106083 [details] [review]
patch

Be smarter with freeing the resolver, this should help here.
The "found" or "failure" signals for the resolver can be emitted multiple times, but only after ga_service_resolver_attach (), so I modified the hash table to unref the resolver on _remove (), and the freeing of ResolveData should be done by setting it on the resolver with g_object_set_data_full ().
Comment 10 Priit Laes (IRC: plaes) 2008-02-27 16:58:21 UTC
This is the crash I received without the patch...

Program received signal SIGSEGV, Segmentation fault.

Thread 139695262103296 (LWP 14406)

  • #0 ephy_node_db_is_immutable
    at ephy-node-db.c line 175
  • #1 ephy_node_set_property
    at ephy-node.c line 482
  • #2 resolver_found_cb
    at ephy-bookmarks.c line 975
  • #3 ga_signals_marshal_VOID__INT_ENUM_STRING_STRING_STRING_STRING_POINTER_INT_POINTER_INT
    at signals-marshal.c line 89
  • #4 IA__g_closure_invoke
    at gclosure.c line 490
  • #5 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #6 IA__g_signal_emit_valist
  • #7 IA__g_signal_emit
    at gsignal.c line 2243
  • #8 avahi_service_resolver_event
    at resolver.c line 148
  • #9 filter_func
    at client.c line 256
  • #10 dbus_connection_dispatch
    at dbus-connection.c line 4347
  • #11 dispatch_timeout_callback
    at ../avahi-common/dbus-watch-glue.c line 107
  • #12 dispatch_func
    at glib-watch.c line 254
  • #13 IA__g_main_context_dispatch
    at gmain.c line 2065
  • #14 g_main_context_iterate
    at gmain.c line 2698
  • #15 IA__g_main_loop_run
    at gmain.c line 2906
  • #16 IA__gtk_main
    at gtkmain.c line 1163
  • #17 main
    at ephy-main.c line 737
170	 * Return value: %TRUE if @db is immutable
171	 **/
172	gboolean
173	ephy_node_db_is_immutable (EphyNodeDb *db)
174	{
175		return db->priv->immutable;
176	}
177	
178	/**
179	 * ephy_node_db_set_immutable:
(gdb) 
Comment 11 Priit Laes (IRC: plaes) 2008-02-27 17:20:26 UTC
And crash with the patch...

(epiphany:21988): GLib-CRITICAL **: g_hash_table_foreach: assertion `hash_table != NULL' failed

(epiphany:21988): GLib-CRITICAL **: g_hash_table_foreach: assertion `hash_table != NULL' failed

(epiphany:21988): GLib-CRITICAL **: g_hash_table_destroy: assertion `hash_table != NULL' failed

Program received signal SIGSEGV, Segmentation fault.

Thread 140082571785984 (LWP 21988)

  • #0 ephy_node_destroy
    at ephy-node.c line 303
  • #1 ephy_node_unref
    at ephy-node.c line 420
  • #2 resolver_failure_cb
    at ephy-bookmarks.c line 1003
  • #3 IA__g_closure_invoke
    at gclosure.c line 490
  • #4 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #5 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #6 IA__g_signal_emit
    at gsignal.c line 2243
  • #7 _avahi_service_resolver_cb
    at ga-service-resolver.c line 338
  • #8 avahi_service_resolver_event
    at resolver.c line 167
  • #9 filter_func
    at client.c line 258
  • #10 dbus_connection_dispatch
    at dbus-connection.c line 4347
  • #11 dispatch_timeout_callback
    at ../avahi-common/dbus-watch-glue.c line 107
  • #12 dispatch_func
    at glib-watch.c line 254
  • #13 IA__g_main_context_dispatch
    at gmain.c line 2065
  • #14 g_main_context_iterate
    at gmain.c line 2698
  • #15 IA__g_main_loop_run
    at gmain.c line 2906
  • #16 IA__gtk_main
    at gtkmain.c line 1163
  • #17 main
    at ephy-main.c line 737
298	
299	        /* Remove children. */
300		for (i = 0; i < node->children->len; i++) {
301			EphyNode *child;
302	
303			child = g_ptr_array_index (node->children, i);
304	
305			real_remove_child (node, child, FALSE, TRUE);
306		}
307		g_ptr_array_free (node->children, TRUE);
(gdb) 
Comment 12 Reinout van Schouwen 2008-02-28 09:22:33 UTC
*** Bug 519226 has been marked as a duplicate of this bug. ***
Comment 13 Christian Persch 2008-03-12 19:16:45 UTC
*** Bug 520651 has been marked as a duplicate of this bug. ***
Comment 14 Christian Persch 2008-03-12 19:18:55 UTC
Created attachment 107169 [details] [review]
better (?) patch

There were still issues that the patch above didn't fix. found and failed aren't one-shot signals, we can get a found after we got a failed already. So we can't just unref the node in the failure handler. I made instead the found handler create the node and the failed handler remove it, if present. Testing appreciated.
Comment 15 Reinout van Schouwen 2008-03-13 09:02:49 UTC
*** Bug 520514 has been marked as a duplicate of this bug. ***
Comment 16 Christian Persch 2008-03-13 14:08:59 UTC
Committed to svn trunk; closing this bug. It will be merged to gnome-2-22 before the 2.22.1 release.
Comment 17 Reinout van Schouwen 2008-03-14 10:01:05 UTC
*** Bug 522339 has been marked as a duplicate of this bug. ***
Comment 18 Reinout van Schouwen 2008-03-25 17:17:24 UTC
*** Bug 524330 has been marked as a duplicate of this bug. ***
Comment 19 Christian Persch 2008-03-31 21:46:43 UTC
*** Bug 521489 has been marked as a duplicate of this bug. ***
Comment 20 Reinout van Schouwen 2008-04-04 11:24:46 UTC
*** Bug 526009 has been marked as a duplicate of this bug. ***
Comment 21 Reinout van Schouwen 2008-04-06 14:36:42 UTC
*** Bug 526460 has been marked as a duplicate of this bug. ***