Xorg 100% - until truss

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 (Which I'm aware this isn't a place for such discussions, but relates to) 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.

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 FreeBSD 15-Current.
It never used to do this on my previous setup of 15-Current prior to accidentally breaking and requiring a reformat.

HTOP
Code:
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
Code:
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)
sched_yield()                                    = 0 (0x0)
nanosleep({ 0.000000000 })                       = 0 (0x0)
sched_yield()                                    = 0 (0x0)
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 was the same issue I was getting on 15-Current and 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.
Any advice? I assume I should open a ticket.

Cheers.
 
If the kernel is WITNESS-enabled GENERIC: be patient, wait a few minutes. A long freeze may be followed by an automated restart and kernel panic information.
Thanks for the reply.

Unfortunately those are all off. I've disabled those within my kernel build using the nodebug.std

I've also noticed that if I enlarge the video viewer while watching something in ungoogled-chromium browser will cause the same hang.
 
Back
Top