FS#58761 - [virtualbox] Can't launch virtualbox on wayland - segmentation fault

Attached to Project: Community Packages
Opened by yurick gomes (yurick.gomes) - Monday, 28 May 2018, 16:10 GMT
Last edited by Toolybird (Toolybird) - Sunday, 16 April 2023, 01:59 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Christian Hesse (eworm)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 11
Private No

Details

Description:
Hello, i can't launch virtualbox since my latest system upgrade,
it only shows a "segmentation fault" message.
I tried to reinstall virtualbox packages but no luck,

Additional info:
* package version(s)

virtualbox 5.2.12-1
virtualbox-host-dkms 5.2.12-1
linux 4.16.11-1-ARCH

* config and/or log files etc.

VirtualBox XPCOM Server 5.2.12 r122571 linux.amd64 (May 11 2018 09:07:05) release log
00:00:00.000157 main Log opened 2018-05-28T15:48:55.456746000Z
00:00:00.000158 main Build Type: release
00:00:00.000160 main OS Product: Linux
00:00:00.000161 main OS Release: 4.16.11-1-ARCH
00:00:00.000161 main OS Version: #1 SMP PREEMPT Tue May 22 21:40:27 UTC 2018
00:00:00.000176 main DMI Product Name: 80RS
00:00:00.000182 main DMI Product Version: Lenovo ideapad 300-15ISK
00:00:00.000210 main Host RAM: 15903MB (15.5GB) total, 12098MB (11.8GB) available
00:00:00.000212 main Executable: /usr/lib/virtualbox/VBoxSVC
00:00:00.000213 main Process ID: 7078
00:00:00.000213 main Package type: LINUX_64BITS_GENERIC (OSE)
00:00:00.001600 main IPC socket path: /tmp/.vbox-yurick-ipc/ipcd
00:00:00.109793 nspr-2 VirtualBox: object creation starts
00:00:00.110148 nspr-2 Home directory: '/home/yurick/.config/VirtualBox'
00:00:00.134852 nspr-2 Failed to retrive disk info: getDiskName(/dev/mapper/cryptroot) --> cryptroot
00:00:00.147366 nspr-2 NetIfAdpCtlOut: VBoxNetAdpCtl: Error while retrieving link speed for docker0: VBoxNetAdpCtl: ioctl failed: Operation not supported
00:00:00.167316 nspr-2 NetIfAdpCtlOut: VBoxNetAdpCtl: Error while retrieving link speed for wlp2s0: VBoxNetAdpCtl: ioctl failed: Operation not supported
00:00:00.168449 nspr-2 NAT: resolv.conf: nameserver 201.82.0.63
00:00:00.168468 nspr-2 NAT: resolv.conf: nameserver 201.82.0.68
00:00:00.168476 nspr-2 NAT: resolv.conf: nameserver 2804:14c:414:672:201:82:0:51
00:00:00.168483 nspr-2 NAT: resolv.conf: too many nameserver lines, ignoring 2804:14c:417:672:201:82:0:56
00:00:00.168497 nspr-2 HostDnsMonitor: old information
00:00:00.168501 nspr-2 no server entries
00:00:00.168505 nspr-2 no domain set
00:00:00.168509 nspr-2 no search string entries
00:00:00.168513 nspr-2 HostDnsMonitor: new information
00:00:00.168516 nspr-2 server 1: 201.82.0.63
00:00:00.168521 nspr-2 server 2: 201.82.0.68
00:00:00.168525 nspr-2 server 3: 2804:14c:414:672:201:82:0:51
00:00:00.168529 nspr-2 no domain set
00:00:00.168532 nspr-2 no search string entries
00:00:00.168538 nspr-2 HostDnsMonitorProxy::notify
00:00:00.173217 nspr-2 VD: VDInit finished with VINF_SUCCESS
00:00:00.173350 nspr-2 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={0eb668d2-495e-5a36-8890-29999b5f030c} aComponent={SystemPropertiesWrap} aText={Cannot determine default Guest Additions ISO location. Most likely they are not available}, preserve=false aResultDetail=0
00:00:00.177183 nspr-2 VirtualBox: object created
00:00:05.206037 main VirtualBox: object deletion starts
00:00:05.679427 Watcher ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={9570b9d5-f1a1-448a-10c5-e12f5285adad} aComponent={VirtualBoxWrap} aText={The object is not ready}, preserve=false aResultDetail=0
00:00:10.207025 main {00007f2dd4017c00} HostPowerServiceLinux::~HostPowerServiceLinux: RTThreadWait() for 5000 ms failed with VERR_TIMEOUT
00:00:10.208926 main VirtualBox: object deleted

Steps to reproduce:
Just try to launch virtualbox from console or by gnome menu
This task depends upon

Closed by  Toolybird (Toolybird)
Sunday, 16 April 2023, 01:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  See comments
Comment by Doug Newgard (Scimmia) - Monday, 28 May 2018, 16:41 GMT Comment by yurick gomes (yurick.gomes) - Monday, 28 May 2018, 16:48 GMT
Thanks Doug Newgard,
As discussed in the https://bbs.archlinux.org/viewtopic.php?id=237449,
it's a bug with Qt5
Just removing the package 'qt5-wayland' makes virtualbox work again.
Comment by Antonio Rojas (arojas) - Monday, 28 May 2018, 18:26 GMT
This is a virtualbox bug, not a Qt one. VB is unconditionally using x11 specific code. The reason why this became an issue now is because Qt 5.11 defaults to the Wayland backend on Wayland sessions (eg. Gnome). Either the x11 specific code needs to be properly ifdef'd or, if that's not possible, VB should enforce the xcb backend.
Comment by Antonio Rojas (arojas) - Monday, 28 May 2018, 18:27 GMT
See https://www.reddit.com/r/kde/comments/5wbshp/plasma_wayland_session_virtulabox_gui_doesnt_open/ for a more detailed explanation by KDE devs, it seems nothing has changed in over a year.
Comment by yurick gomes (yurick.gomes) - Tuesday, 29 May 2018, 13:11 GMT
thanks for the clarification @arojas
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 17 April 2019, 13:07 GMT
Is this still an issue?
Comment by Juan Simón (j1simon) - Wednesday, 17 April 2019, 14:42 GMT
Today I had the same problem and, in my case, the problem was the environment variable: "QT_QPA_PLATFORM=wayland"
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 17 April 2019, 15:04 GMT
I feel like that's not something we can fix in the package but rather it should be documented on the wiki. Since you can reproduce the problem, could you document it here? https://wiki.archlinux.org/index.php/VirtualBox
Comment by Juan Simón (j1simon) - Thursday, 18 April 2019, 12:58 GMT Comment by Kostiantyn Ponomarenko (koponomarenko) - Friday, 28 June 2019, 15:42 GMT
Looks like this bug was reported to VirtualBox folks here: https://www.virtualbox.org/ticket/18679.
Comment by David Pedersen (Limero) - Friday, 19 July 2019, 13:54 GMT
Is it possible for the desktop entry shipped with Arch's Virtualbox package to be modified to have the workaround from the wiki?
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 19 July 2019, 23:48 GMT
The name would imply that it'd be harmful for platform that are not wayland. Can you check that?
Comment by Antonio Rojas (arojas) - Saturday, 20 July 2019, 07:37 GMT
The workaround in the wiki doesn't look right to me. By unsetting QT_QPA_PLATFORM you will make Qt autodetect the platform, and it will still try to use the wayland one if you are on a wayland session (except for Gnome, which is explicitely blacklisted). You need to actually set QT_QPA_PLATFORM='xcb'. But still, this would only work when launching VB via the desktop file. The real (upstream) fix would be to add something like this in main():

https://cgit.kde.org/krita.git/tree/krita/main.cc#n148
Comment by Daniel Mouritzen (danmou) - Friday, 24 April 2020, 08:44 GMT
Until this is fixed upstream, could we have the fix from the wiki implemented in this package? I.e. changing the Exec line in virtualbox.desktop to `Exec=env QT_QPA_PLATFORM=xcb VirtualBox %U`?

Since VB only works with xcb anyway this shouldn't cause problems for anyone.
Comment by Michaël Defferrard (mdeff) - Friday, 01 May 2020, 22:28 GMT
I've fixed the wiki with the correct desktop file workaround, and added a shell alias workaround for those starting VB from the CLI. I confirm unsetting QT_QPA_PLATFORM is not sufficient if Qt detects wayland (e.g., if XDG_SESSION_TYPE=wayland).
Comment by Thomas Venriès (ventto) - Thursday, 28 May 2020, 20:13 GMT
In addition to QT_QPA_PLATFORM, I suggest you to use the QT_FONT_DPI variable as following which affects the font size for those who got a huge one:
$ QT_FONT_DPI=96 QT_QPA_PLATFORM=xcb VirtualBox
Comment by Toolybird (Toolybird) - Sunday, 16 April 2023, 01:58 GMT
Currently, I see the following in "src/VBox/Frontends/VirtualBox/src/main.cpp"

/* Force using Qt platform module 'xcb', we have X11 specific code: */
RTEnvSet("QT_QPA_PLATFORM", "xcb");

Therefore I assume the original crash is fixed.

Loading...