VirtualBox

Ticket #21132 (closed defect: fixed)

Opened 7 weeks ago

Last modified 6 weeks ago

LXQt Desktop crashes in guest Fedora 36

Reported by: Peter Hull Owned by:
Component: guest additions/x11/graphics Version: VirtualBox 7.0.0
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

Since installing 7.0.0 with guest additions I have encountered a crash when logging in to my Fedora 36 + LXQt guest. I have reported it to LXQt and they have incorporated some defensive checks. However their code is pretty mature and this crash has never been reported before, therefore I wonder if VB is doing something wrong or at least unusual. The crash happens every time for me, and it does not occur if I uninstall the guest additions. Also I have been using the same virtual machine with 6.x (plus GAs) for a long time without seeing this.

See also bug filed for LXQt:  https://github.com/lxqt/pcmanfm-qt/issues/1668

Attachments

Fedora-2022-10-12-08-45-08.zip Download (78.5 KB) - added by Peter Hull 7 weeks ago.
Log file zipped
VirtualBox_Fedora_12_10_2022_08_44_25.png Download (28.7 KB) - added by Peter Hull 7 weeks ago.
Crash screen shot

Change History

Changed 7 weeks ago by Peter Hull

Log file zipped

Changed 7 weeks ago by Peter Hull

Crash screen shot

comment:1 Changed 7 weeks ago by boxer01

In my Windows VM, it helped to uninstall the old version of GA first and then install the new version after reboot. See the  topic in the beta forum for more details. Maybe the same thing could help you in Linux VM?

comment:2 Changed 7 weeks ago by Peter Hull

I have tried uninstalling and reinstalling GA, when I was trying to determine the cause I uninstalled (worked perfectly) then reinstalled (crashed) so I don't think it is the same issue as mentioned in that thread.

I can also confirm it happens on a fresh install of the Fedora LXQt spin

  1. Download the ISO
  2. Create new VM using all default settings apart from select 2 CPUs not 1.
  3. Install, set up one 'admin' user
  4. As SU, do 'dnf upgrade', 'dnf install dkms kernel-devel make gcc' then install the GAs (VB tries to do its own update procedure which AFAICS doesn't work and fails after a while)
  5. Reboot and log in
  6. See the error

Note the problem doesn't just mean there's no desktop background - the same process (pcmanfm-qt) also runs the file/directory browser (same as what Explorer does on Windows) so the whole system is hard to use.

comment:3 follow-up: ↓ 6 Changed 7 weeks ago by galitsyn

Hi Peter,

In Fedora-2022-10-12-08-45-08-hard.log I see that VM has 16MB Video RAM assigned. Do you see any difference if you increase it, say, to maximum?

Also, VM has assigned 4GB of RAM while host has only 4.7GB free. This is close to the limit.

comment:4 follow-up: ↓ 7 Changed 7 weeks ago by galitsyn

Hi Peter,

I reproduced the issue. I think it is rather better to file a bug report to  https://lxqt-project.org (or ask somebody from lxqt team to leave a comment here, or both).

The problem is that pcmanfm-qt somehow cannot survive if VBoxClient --seamless is running (or starting when pcmanfm-qt was already running).

Here is repeatable backtrace from pcmanfm-qt which shows NULL pointer dereference:

#0  xcb_get_atom_name_name_length (R=0x0) at /usr/src/debug/libxcb-1.13.1-9.fc36.x86_64/src/xproto.c:3365
#1  0x00007ffff7ed047e in XdndWorkaround::atomName (atom=0) at /usr/src/debug/libfm-qt-1.0.0-5.fc36.x86_64/src/xdndworkaround.cpp:110
#2  0x00007ffff7ed5ff0 in XdndWorkaround::clientMessage (event=0x55555578d430, this=0x55555567d0f0)
    at /usr/src/debug/libfm-qt-1.0.0-5.fc36.x86_64/src/xdndworkaround.cpp:165
#3  XdndWorkaround::nativeEventFilter (this=0x55555567d0f0, eventType=..., message=0x55555578d430)
    at /usr/src/debug/libfm-qt-1.0.0-5.fc36.x86_64/src/xdndworkaround.cpp:85
#4  0x00007ffff6dab344 in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x55555578d430, 
    result=result@entry=0x7fffffffd7a8) at kernel/qabstracteventdispatcher.cpp:495
#5  0x00007fffe5f27ba3 in QXcbConnection::handleXcbEvent (this=this@entry=0x55555562ba40, event=event@entry=0x55555578d430) at qxcbconnection.cpp:579
#6  0x00007fffe5f29276 in QXcbConnection::processXcbEvents (this=0x55555562ba40, flags=...) at qxcbconnection.cpp:1065
#7  0x00007fffe5f4f8b7 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#8  0x00007ffff6a1cfaf in g_main_dispatch (context=0x7fffe0005010) at ../glib/gmain.c:3417
#9  g_main_context_dispatch (context=0x7fffe0005010) at ../glib/gmain.c:4135
#10 0x00007ffff6a722c8 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fffe0005010, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=<optimized out>) at ../glib/gmain.c:4211
#11 0x00007ffff6a1a940 in g_main_context_iteration (context=0x7fffe0005010, may_block=1) at ../glib/gmain.c:4276
#12 0x00007ffff6dff02a in QEventDispatcherGlib::processEvents (this=0x55555573ed90, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#13 0x00007ffff6dacc1a in QEventLoop::exec (this=this@entry=0x7fffffffda90, flags=..., flags@entry=...)
--Type <RET> for more, q to quit, c to continue without paging--
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007ffff6db4ce2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x0000555555580504 in PCManFM::Application::exec (this=0x7fffffffdcd0) at /usr/src/debug/pcmanfm-qt-1.0.0-2.fc36.x86_64/pcmanfm/application.cpp:347
#16 PCManFM::Application::exec (this=0x7fffffffdcd0) at /usr/src/debug/pcmanfm-qt-1.0.0-2.fc36.x86_64/pcmanfm/application.cpp:328
#17 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/pcmanfm-qt-1.0.0-2.fc36.x86_64/pcmanfm/pcmanfm.cpp:13

In my opinion, pcmanfm-qt should handle this case and do not crash. It can be any other X11 App instead of VBoxClient which triggers the same behavior using X11 API calls.

comment:5 Changed 7 weeks ago by galitsyn

Hi Peter,

Thinking about it a bit more, in the same time it is not nice that VBoxClient causes crash of the other App. I will try to debug the issue from our side the next days.

comment:6 in reply to: ↑ 3 Changed 7 weeks ago by Peter Hull

Replying to galitsyn:

In Fedora-2022-10-12-08-45-08-hard.log I see that VM has 16MB Video RAM assigned. Do you see any difference if you increase it, say, to maximum?

I increased to 128MB, that was the max on the slider in the user interface. There was no difference.

Also, VM has assigned 4GB of RAM while host has only 4.7GB free. This is close to the limit.

I reduced the RAM assigned to the VM to 2GB for my freshly installed Fedora LXQt, and closed most other host apps down when I ran it. The log now says "Host RAM: 16178MB (15.7GB) total, 7972MB (7.7GB) available" but it didn't make any difference.

Thanks for your help!

comment:7 in reply to: ↑ 4 Changed 7 weeks ago by Peter Hull

Replying to galitsyn:

I reproduced the issue. I think it is rather better to file a bug report to  https://lxqt-project.org (or ask somebody from lxqt team to leave a comment here, or both).

I'm very pleased you could reproduce it, that's where most of my bug reports fall down!

I agree about fixing the LXQt part, as I said above I reported it to them first and it has already been fixed in their git master:  https://github.com/lxqt/pcmanfm-qt/issues/1668

I know nothing about X programming but the source of the problem seems to be xcb_get_atom_name_reply returning null. I can't find the documentation to tell me under what circumstances this can occur.

However I do know that it used to work perfectly under the previous 6.x version of VB. Also, when I installed the fresh version of Fedora, it had version 6.0.0 of the GAs already installed (assume they're shipped with the distro?) and it worked fine. This makes me think it's in the GAs rather than Virtual Box 7 per se.

comment:8 follow-up: ↓ 9 Changed 6 weeks ago by galitsyn

There will be a fix from VBox side in the next release as well. Thank you for reporting the issue.

comment:9 in reply to: ↑ 8 Changed 6 weeks ago by Peter Hull

Replying to galitsyn:

There will be a fix from VBox side in the next release as well. Thank you for reporting the issue.

Brilliant, thanks very much for your rapid response!

comment:10 Changed 6 weeks ago by galitsyn

  • Status changed from new to closed
  • Resolution set to fixed

VirtualBox 7.0.2 was just released and includes fix for this issue. Could you please give it a try?

comment:11 Changed 6 weeks ago by Peter Hull

I installed 7.0.2 and then installed the GAs in my existing VM and it seems to have fixed the problem. Thank you for your help.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use