You are not logged in.

#1 2022-01-18 07:23:48

sugarfillet
Member
Registered: 2022-01-18
Posts: 5

[SOLVED] Xserver coredumped on QXL virtual graphic

Recently I tried running DDE on base-installed archlinux which was started by virtmananger with default qxl virtaul graphics card.
And then the GUI failed to start. I changed the video card from qxl to VGA, all worked well, that's why qxl is emphasized in the title.
Changing card type obviously isn't the essence of this problem, so put it aside.   

After some checking I figured out that Xorg process crashed, accurately coredumped.
The coredumpctl tool couldn't dump the key functions where the crash happened, So I rebuilt the xorg-server package with nostrip and debug enabled.
After that, I can see backtrace below with clear symbols.
```
(gdb) bt
#0  0x00007f22b64f9d22 in raise () from /usr/lib/libc.so.6
#1  0x00007f22b64e3862 in abort () from /usr/lib/libc.so.6
#2  0x000055da025c89b0 in OsAbort () at ../xorg-server-21.1.3/os/utils.c:1353
#3  0x000055da025ca4f5 in AbortServer () at ../xorg-server-21.1.3/os/log.c:879
#4  FatalError (f=f@entry=0x55da026672e0 "Caught signal %d (%s). Server aborting\n") at ../xorg-server-21.1.3/os/log.c:1017
#5  0x000055da025cfeca in OsSigHandler (unused=<optimized out>, sip=0x7fff550489f0, signo=11) at ../xorg-server-21.1.3/os/osinit.c:156
#6  OsSigHandler (signo=11, sip=0x7fff550489f0, unused=<optimized out>) at ../xorg-server-21.1.3/os/osinit.c:110
#7  <signal handler called>
#8  xf86InitViewport (pScr=0x55da02857500) at ../xorg-server-21.1.3/hw/xfree86/common/xf86Cursor.c:104
#9  0x000055da025ecbc0 in InitOutput (pScreenInfo=<optimized out>, argc=12, argv=0x7fff550498e8) at ../xorg-server-21.1.3/hw/xfree86/common/xf86Init.c:518
#10 0x000055da024b1334 in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../xorg-server-21.1.3/dix/main.c:190
#11 main (argc=12, argv=0x7fff550498e8, envp=<optimized out>) at ../xorg-server-21.1.3/dix/stubmain.c:34

```
Frame 8 in backtrace seems like the bug entry. I couldn't figure it out though checked the xorg-server source code, So I post it here for help. 
The detailed Xorg.log and coredump file are attached. And here are some basic system info, not sure they're sufficient So I will append what you want for this.

```
> guest : archlinux

Linux archlinux 5.15.13-arch1-1 #1 SMP PREEMPT Wed, 05 Jan 2022 16:20:59 +0000 x86_64 GNU/Linux
xf86-video-qxl 0.1.5.r16.g52c421c-2
xorg-server 21.1.3-1

> host  : deepin OS

libvirt-clients 5.0.0.6-1
libvirt-daemon 5.0.0.6-1
libvirt-daemon-system 5.0.0.6-1
libvirt-glib-1.0-0:amd64 1.0.0-1
libvirt0:amd64 5.0.0.6-1
python3-libvirt 5.0.0-1

```
Finally, let me clarify the reproducing process 
   a. create a VM with qxl card
   b. install xorg-server and xorg-driver group or update it if necessary
   c. start xorg by startx/xinit/some_dm
   d. then the Xorg maybe crash
   

Looking for your reply and profound knowledge.

Last edited by sugarfillet (2022-01-18 10:21:40)

Offline

#2 2022-01-18 08:50:50

seth
Member
Registered: 2012-09-03
Posts: 51,299

Re: [SOLVED] Xserver coredumped on QXL virtual graphic

https://bugs.archlinux.org/task/72731
The QXL driver isn't very reliable to begin with and I guess this here is because of the 1.21 server update.
Does the modesetting driver on top of the qxl (or virtio-gpu for the virtio graphics) kernel module work for you?

Offline

#3 2022-01-18 09:54:57

sugarfillet
Member
Registered: 2022-01-18
Posts: 5

Re: [SOLVED] Xserver coredumped on QXL virtual graphic

sugarfillet wrote:

The detailed Xorg.log and coredump file are attached.   Xorg.0.log is here

Last edited by sugarfillet (2022-01-18 09:56:08)

Offline

#4 2022-01-18 10:20:19

sugarfillet
Member
Registered: 2022-01-18
Posts: 5

Re: [SOLVED] Xserver coredumped on QXL virtual graphic

seth wrote:

https://bugs.archlinux.org/task/72731
The QXL driver isn't very reliable to begin with and I guess this here is because of the 1.21 server update.

Thanks for your reply.
The Xorg.0.log in the link above seems not identical to my problem whose log is attached to my last comment. I guess they may be two different problems. 

seth wrote:

Does the modesetting driver on top of the qxl (or virtio-gpu for the virtio graphics) kernel module work for you?

I tried to create 10-modesetting.conf  and restarted lightdm . YEAH! , It works. I posted its content here for the same guy.

[root@archlinux sugarfillet]# cat /etc/X11/xorg.conf.d/10-modesetting.conf 
Section "Device"
   Identifier  "QXL paravirtual graphic card"
   Driver      "modesetting"
EndSection

I'll mark the problem resolved temporarily and figure it out actually in my later spare time. Thanks again.

Offline

#5 2022-01-18 13:29:57

seth
Member
Registered: 2012-09-03
Posts: 51,299

Re: [SOLVED] Xserver coredumped on QXL virtual graphic

Removing the xf86-video-qxl package would suffice.
Your backtrace looks more like https://bbs.archlinux.org/viewtopic.php?id=271156 but the bug linked there has yet another set of backtraces.
Bottom line is that the qxl ddx driver isn't very well maintained and you'll probably just shift towards the modesetting driver.

Offline

#6 2022-01-19 03:37:57

sugarfillet
Member
Registered: 2022-01-18
Posts: 5

Re: [SOLVED] Xserver coredumped on QXL virtual graphic

Removing the xf86-video-qxl package works well without the xorg.conf.
As you say, I'll shift towards the modesetting driver or consider using graphics card passthrough in guest os.

Offline

Board footer

Powered by FluxBB