Summary: | gtk-based file chooser freezes after update of x11-toolkits/gtk30 to 3.16 | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Piotr Kubaj <pkubaj> | ||||
Component: | Individual Port(s) | Assignee: | Koop Mast <kwm> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Many People | CC: | anindya49, bugsfreebsd, fidaj, gnome, koobs, kwm, miwi, olivierd, pi, shen.elf, w.litter, wulf | ||||
Priority: | --- | Keywords: | easy, needs-qa, patch, regression | ||||
Version: | Latest | Flags: | bugzilla:
maintainer-feedback?
(gnome) |
||||
Hardware: | Any | ||||||
OS: | Any | ||||||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202250 | ||||||
Attachments: |
|
Description
Piotr Kubaj
2015-08-06 12:49:25 UTC
Same problems. With all editors (including LibreOffice), firefox and thunderbird. pcmanfm does not start anymore. (In reply to Walter Schwarzenfeld from comment #1) +1 thunar, nautilus... Looks like I've found the right place to discuss this issue. Actually, the program hangs at g_volume_monitor_get() => populate_union_monitor() => g_object_new(). therefore it is caused by glib-2.44.1, and there is no bug report for glib yet on this site. Some pure Qt based applications also have this issue, due to QFileDialog::getOpenFileNames() some how calls in to glib's g_volume_monitor_get(). Created attachment 159617 [details]
glib2.44-disable-kqueue.patch
Something broken in gio-kqueue backend. As temporary workaround you can disable it with attached patch
Thanks, seems to work. A commit references this bug: Author: kwm Date: Thu Aug 6 16:14:43 UTC 2015 New revision: 393663 URL: https://svnweb.freebsd.org/changeset/ports/393663 Log: Disable kqueue for now, so we can take our time finding out what is up with the file/directory monitoring code. And people can use there Gtk based programs again. PR: 202128 Changes: head/devel/glib20/Makefile Thanks everyone for reporting and proposing the work around patch. This will give us the time to investigate this problem at our leasure. Filed a PR on gnome.org https://bugzilla.gnome.org/show_bug.cgi?id=753378 Seems they found a solution at gnome-bugzilla: => "commenting out that mutex in gio/gunionvolumemonitor.c and it seem to not hang any more" 581 _g_mount_get_for_mount_path (const gchar *mount_path, 582 GCancellable *cancellable) 583 { 593 if (klass->get_mount_for_mount_path) 594 { 595 // g_rec_mutex_lock (&the_volume_monitor_mutex); 596 mount = klass->get_mount_for_mount_path (mount_path, cancellable); 597 // g_rec_mutex_unlock (&the_volume_monitor_mutex); 598 } I tried this on my machine, seems to work. Hi, I've been unable to use colord because of this problem; colormgr returns no profiles when kqueue is disabled. I tried commenting out the mutex and re-enabling kqueue in the makefile on my FreeBSD 10.2 64 bit system, and it works! No hangs from any of the listed programs. (In reply to Walter Schwarzenfeld from comment #9) For me this patch is working too. (In reply to Walter Schwarzenfeld from comment #9) Tested with GLib 2.46 (current stable release) with kqueue/kevent backend enabled, and it works. Thanks! A commit references this bug: Author: kwm Date: Sat Oct 17 17:16:33 UTC 2015 New revision: 399544 URL: https://svnweb.freebsd.org/changeset/ports/399544 Log: Re-enable kqueue backend for file monitoring. But add a hack, it should allow programs to work properly again. PR: 202128 Changes: head/devel/glib20/Makefile head/devel/glib20/files/patch-gio_gunionvolumemonitor.c Fixed in 399544. Assign to Committer that resolved |