VirtualBox

Opened 7 years ago

Last modified 7 years ago

#17149 new defect

UI breaks as soon as a VM is created or added built with QT 5.9.2

Reported by: ekigwana Owned by:
Component: GUI Version: VirtualBox 5.1.28
Keywords: Cc:
Guest type: all Host type: Linux

Description

UI starts fine prior to addition or creation of any VM. As some as a VM is created or added, the UI crashes and continues to crash until configuration is deleted.

Qt FATAL: ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 0x0x26cba40. Receiver (of type 'UITaskMediumEnumeration') was created in thread 0x0x22e65d0", file kernel/qcoreapplication.cpp, line 563

Thread 18 "UIThreadWorker" received signal SIGABRT, Aborted. [Switching to Thread 0x7f056bfff700 (LWP 19353)] GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007f05a1ed9930 in GI_abort () at abort.c:89 #2 0x00007f059c86f657 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib64/libQt5Core.so.5 #3 0x00007f059c86a4ea in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib64/libQt5Core.so.5 #4 0x00007f059ca41686 in QCoreApplicationPrivate::checkReceiverThread(QObject*) () from /usr/lib64/libQt5Core.so.5 #5 0x00007f0597aad848 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #6 0x00007f059ca41d07 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #7 0x00007f059ca77f2c in QObject::setProperty(char const*, QVariant const&) () from /usr/lib64/libQt5Core.so.5 #8 0x00007f059df826d0 in UITaskMediumEnumeration::run (this=0x24b7170)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp:65

#9 0x00007f059df5adca in UITask::start (this=0x24b7170)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/globals/UIThreadPool.cpp:298

#10 UIThreadWorker::run (this=0x26cba40)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/globals/UIThreadPool.cpp:322

#11 0x00007f059c8843d0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5 #12 0x00007f05a245e867 in start_thread (arg=0x7f056bfff700) at pthread_create.c:456 #13 0x00007f05a1f9c9cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Change History (3)

comment:1 by ekigwana, 7 years ago

To quickly test this out I commented the offending line and discovered that this appears to be systemic.

Qt FATAL: ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 0x0x176e6f0. Receiver (of type 'UIGDetailsUpdateTaskGeneral') was created in thread 0x0x13c05d0", file kernel/qcoreapplication.cpp, line 563

Thread 18 "UIThreadWorker" received signal SIGABRT, Aborted. [Switching to Thread 0x7f09b68c0700 (LWP 24131)] GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007f09ec520930 in GI_abort () at abort.c:89 #2 0x00007f09e2caa657 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib64/libQt5Core.so.5 #3 0x00007f09e2ca54ea in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib64/libQt5Core.so.5 #4 0x00007f09e2e7c686 in QCoreApplicationPrivate::checkReceiverThread(QObject*) () from /usr/lib64/libQt5Core.so.5 #5 0x00007f09e21a0848 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #6 0x00007f09e2e7cd07 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #7 0x00007f09e2eb2f2c in QObject::setProperty(char const*, QVariant const&) () from /usr/lib64/libQt5Core.so.5 #8 0x00007f09e868c78c in UIGDetailsUpdateTaskGeneral::run (this=0x1799ec0)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp:278

#9 0x00007f09e85a2dba in UITask::start (this=0x1799ec0)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/globals/UIThreadPool.cpp:298

#10 UIThreadWorker::run (this=0x176e6f0)

at /var/tmp/portage/app-emulation/virtualbox-5.1.28/work/VirtualBox-5.1.28/src/VBox/Frontends/VirtualBox/src/globals/UIThreadPool.cpp:322

#11 0x00007f09e2cbf3d0 in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5 #12 0x00007f09ecaa5867 in start_thread (arg=0x7f09b68c0700) at pthread_create.c:456 #13 0x00007f09ec5e39cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

comment:2 by ekigwana, 7 years ago

I couldn't get qemu to dynamically resize the vdi based disks so I was forced to try and figure something out with virtualbox. I created a basic machine and the UI crashed immediately. I was then able to use VBoxManage to start the vm and was prompted for an ISO. I provided one and was then able to boot the ISO after which I was able to add my vdi image. This is clearly just a front end VM manager UI issue.

comment:3 by Socratis, 7 years ago

It has to do with your host's Qt installation. VirtualBox uses Qt 5.6.x as their Qt basis and your system has Qt 5.9.2, so there's a conflict in there somewhere. I didn't see you mention your host or its version (did I miss it?) but you could always download the "generic" version of VirtuaBox. From the Linux downloads page, select the "All distributions" one. It contains its own Qt libraries and does not rely on the host's installed ones.

May I suggest something? It's usually better and faster, if issues like this one (configuration, question) get first addressed in the VirtualBox forums. More than 95% of the issues are resolved over there, which keeps the developers focusing on the bug fixes and enhancements, and there is no need for another ticket to keep track of. For example, yours is most probably not a bug and someone from the developers has to deal with it and close it as "Invalid".

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use