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 750708 - "save as" hangs since GUnixMountMonitor made per-context
"save as" hangs since GUnixMountMonitor made per-context
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gio
2.44.x
Other NetBSD
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2015-06-10 13:18 UTC by Patrick Welche
Modified: 2016-04-07 18:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Patrick Welche 2015-06-10 13:18:17 UTC
After updating a NetBSD box from 2.42.2 to 2.44.1, trying to save from firefox or evince hangs. Perhaps an easier test is to run gtk-demo, and try the "Pickers" example. It won't start. Keeping 2.44.1, and reverting


commit 548c165a9f8386af29e8bb8243d8923e0f315c2e
Author: Ryan Lortie <desrt@desrt.ca>
Date:   Thu Jan 8 01:35:33 2015 -0500

    Make GUnixMountMonitor per-context

    GUnixMountMonitor was not threadsafe before.  It was a global singleton
    which emitted signals in the first thread that happened to construct it.

    Move it to a per-context singleton model where each GMainContext gets
    its own GUnixMountMonitor.  Monitor for the changes from the GLib worker
    thread and dispatch the results to each context with an active monitor.

    https://bugzilla.gnome.org/show_bug.cgi?id=742599


gets a working system.

When firefox hangs (gets parked), a backtrace looks like:

  • #0 ___lwp_park60
    from /usr/lib/libc.so.12
  • #1 pthread_cond_timedwait
    from /usr/lib/libpthread.so.1
  • #2 g_cond_wait
    at gthread-posix.c line 768
  • #3 g_context_specific_group_request_state
    at gcontextspecificgroup.c line 157
  • #4 g_context_specific_group_get
    at gcontextspecificgroup.c line 202
  • #5 g_unix_mount_monitor_get
    at gunixmounts.c line 1557
  • #6 g_unix_volume_monitor_init
    at gunixvolumemonitor.c line 212
  • #7 g_type_create_instance
    at gtype.c line 1870
  • #8 g_object_new_internal
    at gobject.c line 1774

Comment 1 Patrick Welche 2016-04-07 18:18:37 UTC
Closing as I no longer can reproduce this. Not sure what fixed it!