[Bug 279333] x11/xorg 100% - until truss probed

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 26 May 2024 18:22:51 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279333

            Bug ID: 279333
           Summary: x11/xorg 100% - until truss probed
           Product: Base System
           Version: 14.0-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: standards
          Assignee: standards@FreeBSD.org
          Reporter: unspam@crystalforest.tf

Greetings, I've finally been able to reproduce this on 14.x as well as constant
happenings on 15.x

So, on FBSD-14, I have an issue where by if I try to use xfce-screenshot
plugin, XORG will launch it self into 100% causing the system to become
unresponsive.

Within FBSD-15 -XORG will freeze upon startup of xfce4 showing the same
symptoms.

Now, if I SSH in to my host, and use truss to inspect the PID -- Suddenly Xorg
comes back in to life as if nothing had ever happened and my machine becomes
responsive.

Version: FreeBSD 14.0-RELEASE
Graphics: NVidia 3060 RTX 
(nvidia-modeset and tried all the different versions from 550 to 470)
Processor: Ryzen 9 5950X

FreeBSD 14, custom kernel but latest, but occurs the same on GENERIC and as
mentioned 15-Current.

It never used to do this on my previous setup of 15-Current prior to
accidentally breaking and requiring a reformat.


HTOP

    24224 root        24   0 13400  3068 S    0.0  0.0  0:00.00 ├─ login [pam]
    29169 rabbit         20   0 16456  4540 S    0.0  0.0  0:00.01 │  └─ -tcsh
    30393 rabbit         20   0 14712  3288 S    0.0  0.0  0:00.00 │     └─
xinit /usr/local/etc/xdg/xfce4/xinitrc
    30658 root       135   0 24.9G  863M R   99.2  0.7  3:09.63 │        ├─
/usr/local/libexec/Xorg :0
    31222 rabbit         20   0 98132 36852 S    0.0  0.0  0:00.12 │        └─
xfce4-session

Truss output

    recvmsg(69,0x8210d3680,0)                        ERR#35 'Resource
temporarily unavailable'
    setitimer(ITIMER_REAL,{ 0.000000, 0.000000 },0x0) = 0 (0x0)
    poll({ 4/POLLIN 5/POLLIN 6/POLLIN 18/POLLIN 19/POLLIN 20/POLLIN 21/POLLIN
22/POLLIN 26/POLLIN 31/POLLIN 49/POLLIN 50/POLLIN 51/POLL
    setitimer(ITIMER_REAL,{ 0.005000, 0.005000 },0x0) = 0 (0x0)
    recvmsg(69,{NULL,0,[{"5
\^D\0\^O\n\M-@\^B\^C\0\M-@\^B:"...,16408}],1,{},0,0},0) = 16408 (0x4018)
   
recvmsg(69,{NULL,0,[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,16164}],1,{},0,0},0)
= 16164 (0x3f24)
   
recvmsg(69,{NULL,0,[{"\0Fs\0\0\M->X\^A\0\M-=r\0\0007Z"...,15936}],1,{},0,0},0)
= 15936 (0x3e40)
   
recvmsg(69,{NULL,0,[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,15984}],1,{},0,0},0)
= 15984 (0x3e70)
   
recvmsg(69,{NULL,0,[{"\0^\a\0\0\M^G\M-9\^B\0\M^G\M-9"...,15592}],1,{},0,0},0) =
15592 (0x3ce8)
   
recvmsg(69,{NULL,0,[{"\M^K\^E\^D\0\^P\n\M-@\^B@\0\0\0"...,16408}],1,{},0,0},0)
= 16408 (0x4018)
   
recvmsg(69,{NULL,0,[{"|\^D\M-t\^B&\n\M-@\^B\^B\0\0\0"...,16376}],1,{},0,0},0) =
8596 (0x2194)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    [continuation...]

    write(32,"\0",1)                                 = 1 (0x1)
    sched_yield()                                    = 0 (0x0)
    nanosleep({ 0.000000000 })                       = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    nanosleep({ 0.000000000 })                       = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    SIGNAL 14 (SIGALRM) code=SI_KERNEL
    sigprocmask(SIG_SETMASK,{ SIGALRM },0x0)         = 0 (0x0)
    sigreturn(0x8210d2740)                           EJUSTRETURN
    SIGNAL 14 (SIGALRM) code=SI_KERNEL
    sigprocmask(SIG_SETMASK,{ SIGALRM },0x0)         = 0 (0x0)
    sigreturn(0x8210d2740)                           EJUSTRETURN
    nanosleep({ 0.000000000 })                       = 0 (0x0)
    sched_yield()                                    = 0 (0x0)
    nanosleep({ 0.000000000 })                       = 0 (0x0)
    [continuation]
    writev(69,[{"kx\M-J\0kx\M-J\0kx\M-J\0kx\M-J\0"...,122880}],1) = 65536
(0x10000)
    writev(69,[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,57344}],1) = 57344
(0xe000)
    sched_yield()                                    = 0 (0x0)

sched_yield appears to be the issue, and the same issue I was getting on
15-Current. XORG will eventually resume after 2-3minutes of frozen activity but
this is annoying.

I also don't understand why as to if I use truss the process suddenly resumes
normally. Happy to attach anything else.

Cheers.

-- 
You are receiving this mail because:
You are the assignee for the bug.