Re: FVWM: Abort from FRenderRender -> XRenderCreatePicture()

2024-01-23 Thread Mark Hills
On Tue, 23 Jan 2024, Jaimos Skriletz wrote:

> On Tue, Jan 23, 2024 at 6:07 AM Mark Hills  wrote:
> >
> > I'm experiencing rare (but annoying) whole X session crashes, since
> > mid-2023.
> >
> 
> There was a change in libX11 that caused fvwm crashes due to event
> handling. That has been fixed in fvwm3, and the fix isn't in fvwm2
> yet, but you can find the patch here:
> 
> https://github.com/fvwmorg/fvwm/pull/102
> 
> Maybe test out that patch and see if that helps.

Thanks, the description does indeed seem like it could be a match.

I'm now running 2.7.0+patch. It passes the basic 'sniff' test and I will 
try and exercise the bug.

Assuming it survives on my system, I think this should be merged and a 2.x 
"stable bugfix" release made speedily. Distributions already pushed libX11 
and broke the current FVWM.

Most users are just going to just see an unstable system. It's hard to 
reproduce and took time to rule out xdm, xorg etc..

Many thanks for the fast diagnosis.

-- 
Mark

Re: FVWM: Abort from FRenderRender -> XRenderCreatePicture()

2024-01-23 Thread Jaimos Skriletz
On Tue, Jan 23, 2024 at 6:07 AM Mark Hills  wrote:
>
> I'm experiencing rare (but annoying) whole X session crashes, since
> mid-2023.
>

There was a change in libX11 that caused fvwm crashes due to event
handling. That has been fixed in fvwm3, and the fix isn't in fvwm2
yet, but you can find the patch here:

https://github.com/fvwmorg/fvwm/pull/102

Maybe test out that patch and see if that helps.

jaimos



FVWM: Abort from FRenderRender -> XRenderCreatePicture()

2024-01-23 Thread Mark Hills
I'm experiencing rare (but annoying) whole X session crashes, since 
mid-2023.

To my surprise it turns out to be FVWM exiting on SIGABRT.

I was able to make these crashes more likely by exercising Chromium 
screen-scraping, Firefox playing YouTube, whilst iconifying a small 
window. And do so with my own debug build.

The result is the stack trace below.

Packages are from Slackware 15.0, with a local build of xorg-server at 
1.21.1.10.

The fvwm-2.6.9-x86_64-4 package has been in use for some time without 
crashes, so likely what's changed is my working practices, another 
application, or library.

Is anything in the stack trace raise suspicion?

Is it likely (security) change to libX11 is exposing a bug, either in that 
library or FVWM?

Thanks

-- 
Mark


Reading symbols from /opt/fvwm/bin/fvwm...
[New LWP 18689]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/opt/fvwm/bin/fvwm'.
Program terminated with signal SIGABRT, Aborted.
#0  0x7f4f91bd5868 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x7f4f91bd5868 in raise () at /lib64/libc.so.6
#1  0x7f4f91bbc546 in abort () at /lib64/libc.so.6
#2  0x7f4f91bbc43f in _nl_load_domain.cold () at /lib64/libc.so.6
#3  0x7f4f91bcd392 in  () at /lib64/libc.so.6<-- 
__assert_fail()
#4  0x7f4f92ffedf5 in  () at /usr/lib64/libX11.so.6  <-- 
_XAllocID()
#5  0x7f4f92e6a2f8 in XRenderCreatePicture () at /usr/lib64/libXrender.so.1
#6  0x004cd187 in FRenderRender (dpy=0x7568a0, win=8390156, 
pixmap=8390152, mask=0, alpha=8390154, depth=24, added_alpha_percent=100, 
tint=0, tint_percent=0, d=8390156, gc=0x76fc40, alpha_gc=0x76ff00, src_x=0, 
src_y=0, src_w=56, src_h=56, dest_x=2, dest_y=2, dest_w=56, dest_h=56, 
do_repeat=0) at FRender.c:464
#7  0x004c1e65 in PGraphicsRenderPixmaps (dpy=0x7568a0, win=8390156, 
pixmap=8390152, mask=0, alpha=8390154, depth=24, fra=0x7fff98bb9c40, d=8390156, 
gc=0x76fc40, mono_gc=0x76fe50, alpha_gc=0x76ff00, src_x=0, src_y=0, src_w=56, 
src_h=56, dest_x=2, dest_y=2, dest_w=56, dest_h=56, do_repeat=0) at 
PictureGraphics.c:1012
#8  0x0045b808 in DrawIconPixmapWindow (fw=0x79e640, reset_bg=0, 
pev=0x7fff98bb9ce0, Shadow=0x76c8b0, Relief=0x76c800, cs=-1) at icons.c:1192
#9  0x0045c7c2 in DrawIconWindow (fw=0x79e640, draw_title=1, 
draw_pixmap=1, focus_change=0, reset_bg=0, pev=0x7fff98bb9e50) at icons.c:1490
#10 0x0043b08d in HandleExpose (ea=0x7fff98bb9f90) at events.c:2361
#11 0x0043e371 in dispatch_event (e=0x7a6e78) at events.c:4160
#12 0x0043738c in _pred_weed_handle_expose (display=0x7568a0, 
event=0x7a6e78, arg=0x0) at events.c:266
#13 0x004d0b3f in _fev_pred_weed_if (display=0x7568a0, event=0x7a6e78, 
arg=0x7fff98bba3a0 "asC") at FEvent.c:176
#14 0x004d0957 in _fev_pred_check_peek (display=0x7568a0, 
event=0x7a6e78, arg=0x7fff98bba100 "|\nM") at FEvent.c:144
#15 0x7f4f92fdb8b2 in XCheckIfEvent () at /usr/lib64/libX11.so.6
#16 0x004d1cfb in FCheckPeekIfEvent (display=0x7568a0, 
event_return=0x7fff98bba2e0, predicate=0x4d0a7c <_fev_pred_weed_if>, 
arg=0x7fff98bba3a0 "asC") at FEvent.c:590
#17 0x004d1b04 in FWeedIfEvents (display=0x7568a0, 
weed_predicate=0x437361 <_pred_weed_handle_expose>, arg=0x0) at FEvent.c:527
#18 0x0043ece1 in handle_all_expose () at events.c:4545
#19 0x0047e12f in __raise_or_lower_window (t=0x79e640, mode=SM_RAISE, 
allow_recursion=1, is_new_window=0, is_client_request=0) at stack.c:1141
#20 0x0047e19c in raise_or_lower_window (t=0x79e640, mode=SM_RAISE, 
allow_recursion=1, is_new_window=0, is_client_request=0) at stack.c:1158
#21 0x0047ed6d in RaiseWindow (t=0x79e640, is_client_request=0) at 
stack.c:1715
#22 0x0047f611 in CMD_Raise (cond_rc=0x7fff98bba9d8, exc=0x79ed70, 
action=0x79b235 "") at stack.c:2048
#23 0x004894c0 in __execute_function (cond_rc=0x7fff98bba9d8, 
exc=0x79ee70, action=0x783990 "Raise", exec_flags=128 '\200', 
args=0x7fff98bba810, has_ref_window_moved=0) at functions.c:639
#24 0x0048998f in __run_complex_function_items (cond_rc=0x7fff98bba9d8, 
cond=105 'i', func=0x783a00, exc=0x79ee70, args=0x7fff98bba810, 
has_ref_window_moved=0) at functions.c:838
#25 0x00489f61 in execute_complex_function (cond_rc=0x7fff98bba9d8, 
exc=0x79ef70, action=0x799d00 "IconifyRaiseFunction", desperate=0x7fff98bba960, 
has_ref_window_moved=0) at functions.c:1036
#26 0x00489548 in __execute_function (cond_rc=0x0, exc=0x774670, 
action=0x78b7b0 "IconifyRaiseFunction", exec_flags=0 '\000', args=0x0, 
has_ref_window_moved=0) at functions.c:659
#27 0x0048a693 in execute_function (cond_rc=0x0, exc=0x774670, 
action=0x78b7b0 "IconifyRaiseFunction", exec_flags=0 '\000') at functions.c:1302
#28 0x00439bbf in __handle_bpress_action (exc=0x774670, action=0x78b7b0 
"IconifyRaiseFunction") at events.c:164