Created attachment 176999 [details] cd /usr/ports/graphics/rawtherapee; make showconfig-recursive 10.3-RELEASE-p7 FreeBSD 10.3-RELEASE-p7 #0: Thu Aug 11 18:38:15 UTC 2016 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 simply starting rawtherapee and exiting wia the window manager close icon dumps core. Otherwise it seems to behave normally. On startup: (rawtherapee:73714): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks", Upon exit: GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_lock': Invalid argument. Aborting. Abort trap (core dumped) I have the following gtk stuff installed; don't know if the gtk error is related to the core dump or not: $ pkg info | grep gtk gtk-doc-1.24 Code documentation system, originally for GTK+ gtk-update-icon-cache-2.24.29 Gtk-update-icon-cache utility from the Gtk+ toolkit gtk-xfce-engine-3.2.0 Xfce GTK2 theme engine gtk2-2.24.29_2 Gimp Toolkit for X11 GUI (previous stable version) gtk3-3.18.8_3 Gimp Toolkit for X11 GUI (current stable version) gtkglext-1.2.0_18 OpenGL extension to GTK+ gtkimageview-1.6.4_5 Simple image viewer widget gtkmm24-2.24.4_2 C++ wrapper for Gtk+ libcanberra-gtk3-0.30_3 Implementation of the Freedesktop sound theme spec py27-gtk2-2.24.0_4 Set of Python bindings for GTK+ webkit-gtk2-2.4.11_4 Opensource browser engine using the GTK+ 2 toolkit wx30-gtk2-3.0.2_4 The wxWidgets GUI toolkit with GTK+ bindings $ ldd /usr/local/bin/rawtherapee /usr/local/bin/rawtherapee: libthr.so.3 => /lib/libthr.so.3 (0x801119000) libjpeg.so.8 => /usr/local/lib/libjpeg.so.8 (0x80133e000) libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x8015a9000) libz.so.6 => /lib/libz.so.6 (0x8017df000) libtiff.so.5 => /usr/local/lib/libtiff.so.5 (0x8019f5000) libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0x801c67000) libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x801eaf000) libintl.so.8 => /usr/local/lib/libintl.so.8 (0x8021b5000) libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0 (0x8023c0000) libglibmm-2.4.so.1 => /usr/local/lib/libglibmm-2.4.so.1 (0x8025c1000) libsigc-2.0.so.0 => /usr/local/lib/libsigc-2.0.so.0 (0x802843000) libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0 (0x802c00000) libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0 (0x80322f000) libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0 (0x8034df000) libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0 (0x8036ec000) libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x803915000) libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0 (0x803c2b000) libgio-2.0.so.0 => /usr/local/lib/libgio-2.0.so.0 (0x803e4a000) libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0 (0x8041b5000) libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0 (0x8043ca000) libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x804619000) libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x80485e000) libgtkmm-2.4.so.1 => /usr/local/lib/libgtkmm-2.4.so.1 (0x804c00000) libatkmm-1.6.so.1 => /usr/local/lib/libatkmm-1.6.so.1 (0x8052b9000) libgdkmm-2.4.so.1 => /usr/local/lib/libgdkmm-2.4.so.1 (0x80550b000) libgiomm-2.4.so.1 => /usr/local/lib/libgiomm-2.4.so.1 (0x805761000) libpangomm-1.4.so.1 => /usr/local/lib/libpangomm-1.4.so.1 (0x805b30000) libcairomm-1.0.so.1 => /usr/local/lib/libcairomm-1.0.so.1 (0x805d5f000) liblcms2.so.2 => /usr/local/lib/liblcms2.so.2 (0x805f86000) libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x8061df000) libfftw3f.so.3 => /usr/local/lib/libfftw3f.so.3 (0x806406000) libiptcdata.so.0 => /usr/local/lib/libiptcdata.so.0 (0x806766000) libcanberra-gtk.so.0 => /usr/local/lib/libcanberra-gtk.so.0 (0x806971000) libX11.so.6 => /usr/local/lib/libX11.so.6 (0x806b75000) libcanberra.so.0 => /usr/local/lib/libcanberra.so.0 (0x806ead000) libbz2.so.4 => /usr/lib/libbz2.so.4 (0x8070bc000) libc++.so.1 => /usr/lib/libc++.so.1 (0x8072ce000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x80758d000) libm.so.5 => /lib/libm.so.5 (0x8077aa000) libgomp.so.1 => /usr/local/lib/gcc48/libgomp.so.1 (0x8079d3000) libgcc_s.so.1 => /usr/local/lib/gcc48/libgcc_s.so.1 (0x807be1000) libc.so.7 => /lib/libc.so.7 (0x807df7000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0x8081a4000) libjbig.so.2 => /usr/local/lib/libjbig.so.2 (0x8083cd000) libffi.so.6 => /usr/local/lib/libffi.so.6 (0x8085da000) libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x8087e1000) libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x808adb000) libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0 (0x808d54000) libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x808f57000) libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x809160000) libXi.so.6 => /usr/local/lib/libXi.so.6 (0x809362000) libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x809570000) libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x809779000) libXext.so.6 => /usr/local/lib/libXext.so.6 (0x809983000) libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1 (0x809b94000) libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x809d96000) libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x809f98000) libharfbuzz.so.0 => /usr/local/lib/libharfbuzz.so.0 (0x80a19d000) libpixman-1.so.0 => /usr/local/lib/libpixman-1.so.0 (0x80a3f7000) libEGL.so.1 => /usr/local/lib/libEGL.so.1 (0x80a69b000) libxcb-shm.so.0 => /usr/local/lib/libxcb-shm.so.0 (0x80a8b7000) libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x80aab9000) libxcb-render.so.0 => /usr/local/lib/libxcb-render.so.0 (0x80acde000) libGL.so.1 => /usr/local/lib/libGL.so.1 (0x80aeea000) libvorbisfile.so.3 => /usr/local/lib/libvorbisfile.so.3 (0x80b163000) libltdl.so.7 => /usr/local/lib/libltdl.so.7 (0x80b36b000) libgraphite2.so.3 => /usr/local/lib/libgraphite2.so.3 (0x80b574000) libX11-xcb.so.1 => /usr/local/lib/libX11-xcb.so.1 (0x80b7a7000) libxcb-dri2.so.0 => /usr/local/lib/libxcb-dri2.so.0 (0x80b9a8000) libxcb-xfixes.so.0 => /usr/local/lib/libxcb-xfixes.so.0 (0x80bbac000) libgbm.so.1 => /usr/local/lib/libgbm.so.1 (0x80bdb3000) libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x80bfb9000) libXau.so.6 => /usr/local/lib/libXau.so.6 (0x80c1c6000) libpthread-stubs.so.0 => /usr/local/lib/libpthread-stubs.so.0 (0x80c3c8000) libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x80c5c9000) libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x80c7ce000) libxcb-glx.so.0 => /usr/local/lib/libxcb-glx.so.0 (0x80ca37000) libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 (0x80cc50000) libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0x80ce54000) libogg.so.0 => /usr/local/lib/libogg.so.0 (0x80d081000) Attached is the list of options for dependencies.
I have none of those errors in my testing; the clearlooks Gtk engine is part of the gtk-engines2 package on my system: /usr/local/lib/gtk-2.0/2.10.0/engines/libclearlooks.so was installed by package gtk-engines2-2.20.2_2 Can't say if there's anything related to the XFCE stuff. If it still fails with clearlooks installed, or Gtk reconfigured to use a theme engine that is actually installed so that you don't get the warning, you may need to reinstall rawtherapee from source whilst running make WITH_DEBUG=yes and obtain a backtrace when it abort()s. GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_lock': Invalid argument. Aborting. Not sure what it wants to lock though - and it looks like sanity checking while shutting down. If you want to reopen the bug, feel free, but I need a meaningful stack backtrace of all threads then.
What is the mechanism by which x11-themes/gtk-engines2 port is supposed to be installed? If rawtherapee has this as a requirement, then it needs to force that or at least notify a user when configuring the options for the package. There is no such option in the port. I looked through the complete set of install configs (in the attachment) and didn't see any option that looked like themes. This may well be a config option on my end, but it's not clear to me where themes are supposed to be loaded from. Can you backtrack your gtk2-engines2 and give me the path of ports that gets it built? There's clearly a configuration dependency that's not present in my install. Neither gtk20 nor gtk30 have any configuration option regarding themes.
I don't say that clearlooks is the missing part, you need to find out first if installing gtk2-engines, or removing gtkrc options (for instance, create a new user account temporarily) helps your situation. I deinstalled gtk-engines2, and while it caused start-up warnings regarding clearlooks, it did not cause the abort-on-exit that you've reported, so I assume that gtk-engines2 is not the cause for now. This really wants more debugging to find the cause before we jump to conclusions about uncoded requisites. Please rebuild rawtherapee from ports with "make WITH_DEBUG=yes clean all deinstall install", install gdb 7.11 (from package is fine), run rawtherapee under gdb, like: gdb7111 /usr/local/bin/rawtherapee run (do something you normally do, exit it so it would abort) and then, still inside gdb: thread apply all backtrace full and save the output to a file and upload it to this PR. You may want to install the regular version again after that because the debug build is likely to be MUCH slower.
Bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205370 reported the same issue, but the author stopped using rawtherapee before we could debug this.
Please also see <http://50.87.144.65/~rt/w/index.php?title=How_to_write_useful_bug_reports#When_RawTherapee_crashes_-_An_introduction_to_stack_backtraces>
Created attachment 177052 [details] debug run of rawtherapee with traceback segv
Ok, installed devel/gdb, rebuilt rawtherapee with debug, also rebuilt devel/glib20 with debug. To crash, simply started rawtherapee and hit the "X" window manager kill button. I don't have the libthr.so compiled debug, but I suspect doing so would bring my system to its knees. Let me know if you need that and how to do it, as I'm not clear on what's entailed for such a basic system module.