Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.5.1
-
None
-
Qt 5.5.1 on FreeBSD 11-CURRENT
The dbus module is enabled for possible usage in the Qt library, but no dbus sessions are active at application runtime.
-
-
61d990da967d10d15cd8b73d0bee9f36387f8278 (qt/qtbase/5.12)
Description
When trying to startup a small Qt application when there is no dbus session currently running, the application crashes when initially loading the UI form. It appears from the backtrace (attached) that the UI loading system is attempting to make a dbus call without first verifying the existance of a dbus session/connection - causing the library/application to crash.
I have a small application (3 C++ files) written up and available on my github repo here[1] for testing/verifying this bug.
Steps to reproduce (on linux/unix/BSD):
1) Compile the test program
2) Set the contents of ~/.xinitrc to "exec <path to test program>"
3) Run "startx"
I started digging when I discovered that changing the ~/.xinitrc to run "exec dbus-launch --exit-with-session <path to program>" causes the application to run perfectly fine - so even if the app does not require/use dbus the Qt library is attempting to use dbus calls anyway.
[1] https://github.com/pcbsd/lumina/tree/master/dev-tools/test-dbus
EDIT (3/18/16): I just attached another backtrace (backtrace-qt.txt). This one has the Qt libraries installed with debugging symbols available, so the backtrace is a lot more useful for tracking down exactly which Qt module/file/function/line is at fault.