Closed awused closed 3 months ago
hi do you have a stack trace?
I've rebuilt it with --releasetype=debug
and I'm waiting for it to crash again with --log-level debug
. Could take a few hours or a few days.
[ 08/03/2024 13:54:12.987 gl_blit_inner TRACE ] Blitting 3 rectangles
[ 08/03/2024 13:54:12.987 gl_blit_inner TRACE ] Blitting 3 rectangles
[ 08/03/2024 13:54:12.987 gl_blit_inner TRACE ] Blitting 2 rectangles
[ 08/03/2024 13:54:12.987 gl_blit_inner TRACE ] Blitting 1 rectangles
[ 08/03/2024 13:54:12.987 gl_blit_inner TRACE ] Blitting 4 rectangles
[ 08/03/2024 13:54:12.987 draw_callback_impl VERBOSE ] Render schedule deviation: 2057 us (late) 674445269482 674445267425
[ 08/03/2024 13:54:12.987 draw_callback_impl VERBOSE ] Render end
[ 08/03/2024 13:54:12.987 sgi_video_sync_scheduler_schedule VERBOSE ] Requesting vblank event for msc 38355461
picom: ../src/vblank.c:256: sgi_video_sync_scheduler_schedule: Assertion `!base->vblank_event_requested' failed.
zsh: IOT instruction (core dumped) /usr/local/bin/picom --log-level trace
/usr/local/bin/picom --log-level trace 606.22s user 1639.86s system 23% cpu 2:36:38.03 total
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc-2.39-17.fc40.x86_64/nptl/pthread_kill.c
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fc14061fac0 (LWP 1941570))]
(gdb) bt full
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {140725336159024}}
ret = <optimized out>
#1 0x00007fc140908513 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
No locals.
#2 0x00007fc1408afc4e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007fc140897902 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {140467988240230, 12631216, 12631216, 1, 7, 0, 4, 47244640256, 0, 140725336159208, 18446744073709546728, 11, 12631200, 140725336159248, 140467988689806,
140467990000864}}, sa_flags = -1127477760, sa_restorer = 0x7ffd2bac3410}
#4 0x00007fc14089781e in __assert_fail_base (fmt=0x7fc140a23b58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x465c4d "!base->vblank_event_requested", file=file@entry=0x465c32 "../src/vblank.c", line=line@entry=256,
function=function@entry=0x482ce0 <__PRETTY_FUNCTION__.20> "sgi_video_sync_scheduler_schedule") at assert.c:94
str = 0xc0bcb0 "\213\200\301"
total = 4096
#5 0x00007fc1408a7d87 in __assert_fail (assertion=assertion@entry=0x465c4d "!base->vblank_event_requested", file=file@entry=0x465c32 "../src/vblank.c", line=line@entry=256,
function=function@entry=0x482ce0 <__PRETTY_FUNCTION__.20> "sgi_video_sync_scheduler_schedule") at assert.c:103
No locals.
#6 0x0000000000429712 in sgi_video_sync_scheduler_schedule (base=0x12219a0) at ../src/vblank.c:256
self = <optimized out>
self = <optimized out>
__func__ = "sgi_video_sync_scheduler_schedule"
__PRETTY_FUNCTION__ = "sgi_video_sync_scheduler_schedule"
#7 sgi_video_sync_scheduler_schedule (base=0x12219a0) at ../src/vblank.c:249
self = 0x12219a0
__func__ = "sgi_video_sync_scheduler_schedule"
__PRETTY_FUNCTION__ = "sgi_video_sync_scheduler_schedule"
#8 0x0000000000429d75 in vblank_scheduler_schedule (self=0x12219a0, vblank_callback=vblank_callback@entry=0x40fa40 <check_render_finish>, user_data=user_data@entry=0xbf69f0) at ../src/vblank.c:493
closure = <optimized out>
#9 0x0000000000413120 in draw_callback_impl (ps=ps@entry=0xbf69f0, revents=<optimized out>, loop=0x7fc140f24060 <default_loop_struct>) at ../src/picom.c:1906
now = {tv_sec = 674445, tv_nsec = 268960294}
draw_callback_enter_us = <optimized out>
now_ms = <optimized out>
delta_ms = <optimized out>
after_handle_pending_updates_us = <optimized out>
animation = <optimized out>
was_redirected = true
bottom = <optimized out>
after_preprocess_us = <optimized out>
did_render = <optimized out>
__PRETTY_FUNCTION__ = "draw_callback_impl"
__func__ = "draw_callback_impl"
#10 0x000000000041423a in draw_callback (loop=0x7fc140f24060 <default_loop_struct>, w=0xbf6a50, revents=<optimized out>) at ../src/picom.c:1917
ps = 0xbf69f0
#11 0x00007fc140f18d8b in ev_invoke_pending (loop=0x7fc140f24060 <default_loop_struct>) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:3770
p = <optimized out>
#12 0x00007fc140f1c901 in ev_run (flags=0, loop=0x7fc140f24060 <default_loop_struct>) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:4190
__PRETTY_FUNCTION__ = <optimized out>
#13 ev_run (loop=0x7fc140f24060 <default_loop_struct>, flags=flags@entry=0) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:4021
__PRETTY_FUNCTION__ = "ev_run"
waittime = <optimized out>
sleeptime = <optimized out>
prev_mn_now = <optimized out>
to = <optimized out>
to = <optimized out>
#14 0x000000000040df91 in session_run (ps=0xbf69f0) at ../src/picom.c:2677
No locals.
#15 main (argc=<optimized out>, argv=<optimized out>) at ../src/picom.c:2797
dpy = <optimized out>
exit_code = 0
config_file = 0x0
all_xerrors = false
need_fork = false
exe_name = <optimized out>
pfds = {0, 0}
quit = <optimized out>
ret_code = <optimized out>
pid_file = <optimized out>
__func__ = "main"
@awused thanks! do you have more of that log?
hmm, i have a theory.
@awused try 4c5224a0ebee0ccd06c104dcdc297227ccba03a7 ae21c3df61b872010fdf3cb3d74e27e0468c6330
never mind, i don't think this is it.
@awused try https://github.com/yshui/picom/commit/c987b8c5a6416b453c89f5305e5a02bcb144f1e4
Unsure if this is it. I was pretty sloppy with the locks, and this fixes that.
I've got the new code running but since I have no reliable way to reproduce this at will so it might take a while.
Got a different crash, not sure if this is related or not. The crash itself is in a log_debug call but I assume it means some state is corrupt at that point.
[ 08/03/2024 18:06:15.021 renderer_prepare_commands TRACE ] Prepare commands for layer 0x11600042 @ 0000000000 ()
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 50 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 4 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 4 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 1 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 4 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 1 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 2 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 1 rectangles
[ 08/03/2024 18:06:15.023 gl_blit_inner TRACE ] Blitting 50 rectangles
[ 08/03/2024 18:06:15.025 draw_callback_impl VERBOSE ] Render schedule deviation: 6319 us (late) 689567358980 689567352661
[ 08/03/2024 18:06:15.025 draw_callback_impl VERBOSE ] Render end
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45e9 window 0x1220004c "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 0, backend_busy: 1
[ 08/03/2024 18:06:15.025 schedule_render VERBOSE ] Backend busy, will reschedule render at next vblank.
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x1160004f, id: 0x1220004c }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x1220004c
[ 08/03/2024 18:06:15.025 wm_tree_find_client DEBUG ] Toplevel 0x12800073 has WM_STATE set, weird. Using itself as its client window.
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45e9 window 0x1160004f "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x1160004d, id: 0x1160004f }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x1160004f
[ 08/03/2024 18:06:15.025 wm_tree_find_client DEBUG ] Toplevel 0x12800073 has WM_STATE set, weird. Using itself as its client window.
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45e9 window 0x1160004d "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x12800073, id: 0x1160004d }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x1160004d
[ 08/03/2024 18:06:15.025 wm_tree_find_client DEBUG ] Toplevel 0x12800073 has WM_STATE set, weird. Using itself as its client window.
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45e9 window 0x12800073 "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x000001f9, id: 0x12800073 }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x12800073
[ 08/03/2024 18:06:15.025 update_ewmh_active_win DEBUG ] EWMH _NET_ACTIVE_WINDOW is 0x128000a1
[ 08/03/2024 18:06:15.025 update_ewmh_active_win DEBUG ] 0x128000a1 (Shutdown) focused.
[ 08/03/2024 18:06:15.025 handle_new_window_attributes_reply DEBUG ] Failed to get window attributes for newly created window 0x12800073
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45eb window 0x004aa8c9 "Alacritty"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x004aa8c9 (Alacritty) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 1
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7687, 2175) - (8945, 2858)
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45eb window 0x00517beb "We Laugh and React to the CRAZY Media share you send #62 - YouTube — Mozilla Firefox"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x00517beb (We Laugh and React to the CRAZY Media share you send #62 - YouTube — Mozilla Firefox) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 1
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (3200, 0) - (5760, 1410)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event UNMAP_NOTI serial 0x001c45ec window 0x128000a1 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45ec window 0x00544858 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x00544858 (Shutdown) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 1
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (3903, 2413) - (6463, 3823)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event UNMAP_NOTI serial 0x001c45ec window 0000000000 ""
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x128000a1 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000152, window = 0x128000a1, state = 1 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_WM_DESKTOP }
[ 08/03/2024 18:06:15.025 win_set_flags VERBOSE ] Set flags 128 to window 0x00544858 (Shutdown)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x128000a1 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000158, window = 0x128000a1, state = 1 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_WM_STATE }
[ 08/03/2024 18:06:15.025 win_set_flags VERBOSE ] Set flags 128 to window 0x00544858 (Shutdown)
[ 08/03/2024 18:06:15.025 win_set_flags VERBOSE ] Set flags 1024 to window 0x00544858 (Shutdown)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event REPARENT_N serial 0x001c45ec window 0x128000a1 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_reparent_notify DEBUG ] Window 0x128000a1 has new parent: 0x000001f9, override_redirect: 0, send_event: 0x00544858
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event REPARENT_N serial 0x001c45ec window 0x128000a1 "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_reparent_notify DEBUG ] Window 0x128000a1 has new parent: 0x000001f9, override_redirect: 0, send_event: 0x000001f9
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x128000a1 "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x0000017e, window = 0x128000a1, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = WM_STATE }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] WM_STATE changed for window 0x128000a1 ((Failed to get title)): set
[ 08/03/2024 18:06:15.025 wm_tree_set_wm_state DEBUG ] WM_STATE unchanged call (window 0x128000a1, WM_STATE 1).
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event CONFIGURE_ serial 0x001c45ec window 0x00544858 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_configure_notify DEBUG ] { event: 0x000001f9, id: 0x00544858, above: 0x004b5ab8, override_redirect: 1 }
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 1
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (3898, 2413) - (4818, 2793)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x000001f9 "(Root window)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000195, window = 0x000001f9, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_CLIENT_LIST_STACKING }
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x000001f9 "(Root window)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000194, window = 0x000001f9, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_CLIENT_LIST }
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45ec window 0x00420100 "Alacritty"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x00420100 (Alacritty) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 4
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 2175) - (7673, 2177)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 2177) - (6417, 2856)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7671, 2177) - (7673, 2856)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 2856) - (7673, 2858)
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45ec window 0x00517d10 "Alacritty"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x00517d10 (Alacritty) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 4
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 2872) - (7673, 2874)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 2874) - (6417, 3553)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7671, 2874) - (7673, 3553)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (6415, 3553) - (7673, 3555)
[ 08/03/2024 18:06:15.025 ev_handle TRACE ] event DAMAGE_NOT serial 0x001c45ec window 0x004f5955 "Alacritty"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 repair_win TRACE ] Mark window 0x004f5955 (Alacritty) as having received damage
[ 08/03/2024 18:06:15.025 add_damage TRACE ] Adding damage:
[ 08/03/2024 18:06:15.025 dump_region TRACE ] nrects: 4
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7687, 2872) - (8945, 2874)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7687, 2874) - (7689, 3553)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (8943, 2874) - (8945, 3553)
[ 08/03/2024 18:06:15.025 dump_region TRACE ] (7687, 3553) - (8945, 3555)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ec window 0x000001f9 "(Root window)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x0000014d, window = 0x000001f9, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_ACTIVE_WINDOW }
[ 08/03/2024 18:06:15.025 ev_update_focused DEBUG ] Started async request to get _NET_ACTIVE_WINDOW
[ 08/03/2024 18:06:15.025 x_handle_error DEBUG ] Expected X error for request in free_win_res at ../src/wm/win.c:1230: X error 152 DAMAGE_BAD_DAMAGE request 143 minor 2 serial 1852911
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event UNMAP_NOTI serial 0x001c45ef window 0x00544858 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 unmap_win_start DEBUG ] Unmapping 0x00544858 (Shutdown)
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45ef window 0x00544858 "Shutdown"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x000001f9, id: 0x00544858 }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x00544858
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event CONFIGURE_ serial 0x001c45ef window 0x00544859 "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_configure_notify DEBUG ] { event: 0x000001f9, id: 0x00544859, above: 0x004b5ab8, override_redirect: 1 }
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ef window 0x000001f9 "(Root window)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000195, window = 0x000001f9, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_CLIENT_LIST_STACKING }
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event PROPERTY_N serial 0x001c45ef window 0x000001f9 "(Root window)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = 0x00000194, window = 0x000001f9, state = 0 }
[ 08/03/2024 18:06:15.025 ev_property_notify DEBUG ] { atom = _NET_CLIENT_LIST }
[ 08/03/2024 18:06:15.025 ev_handle DEBUG ] event DESTROY_NO serial 0x001c45ef window 0x00544859 "(Failed to get title)"
[ 08/03/2024 18:06:15.025 queue_redraw VERBOSE ] Queue redraw, render_queued: 1, backend_busy: 1
[ 08/03/2024 18:06:15.025 ev_destroy_notify DEBUG ] { event: 0x000001f9, id: 0x00544859 }
[ 08/03/2024 18:06:15.025 wm_destroy DEBUG ] Destroying window 0x00544859
[ 08/03/2024 18:06:15.025 x_handle_error DEBUG ] Expected X error for request in free_win_res at ../src/wm/win.c:1230: X error 152 DAMAGE_BAD_DAMAGE request 143 minor 2 serial 1852912
[ 08/03/2024 18:06:15.025 x_handle_error DEBUG ] Expected X error for request in repair_win at ../src/event.c:670: X error 152 DAMAGE_BAD_DAMAGE request 143 minor 3 serial 1852921
[ 08/03/2024 18:06:15.025 update_ewmh_active_win DEBUG ] EWMH _NET_ACTIVE_WINDOW is 0000000000
zsh: segmentation fault (core dumped) /usr/local/bin/picom --log-level trace
/usr/local/bin/picom --log-level trace 137.10s user 360.37s system 27% cpu 29:43.68 total
Program terminated with signal SIGSEGV, Segmentation fault.
#0 wm_ref_deref (cursor=cursor@entry=0x0) at ../src/wm/wm.c:100
100 if (node->parent == NULL) {
[Current thread is 1 (Thread 0x7fdb52dfdac0 (LWP 3600330))]
Missing separate debuginfos, use: dnf debuginfo-install xorg-x11-drv-nvidia-libs-555.58.02-1.fc40.x86_64
(gdb) bt full
#0 wm_ref_deref (cursor=cursor@entry=0x0) at ../src/wm/wm.c:100
node = 0x0
__func__ = "wm_ref_deref"
#1 0x00000000004270ec in update_ewmh_active_win (req_base=<optimized out>, reply_or_error=<optimized out>) at ../src/event.c:235
ps = <optimized out>
__func__ = "update_ewmh_active_win"
reply = <optimized out>
wid = 0
cursor = 0x0
#2 0x000000000041cfb4 in x_poll_for_event (c=c@entry=0x106fb30) at ../src/x.c:1116
req = 0x120d9f0
ret = 0x10a2a50
#3 0x000000000040fa7b in handle_x_events (ps=0x106f9f0) at ../src/picom.c:1470
ev = <optimized out>
err = <optimized out>
ev = <optimized out>
err = <optimized out>
__func__ = "handle_x_events"
#4 handle_x_events_ev (loop=<optimized out>, w=0x106fa80, revents=<optimized out>) at ../src/picom.c:1483
ps = 0x106f9f0
#5 0x00007fdb536f6d8b in ev_invoke_pending (loop=0x7fdb53702060 <default_loop_struct>) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:3770
p = <optimized out>
#6 0x00007fdb536fadbb in ev_run (flags=0, loop=0x7fdb53702060 <default_loop_struct>) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:4063
__PRETTY_FUNCTION__ = <optimized out>
#7 ev_run (loop=0x7fdb53702060 <default_loop_struct>, flags=flags@entry=0) at /usr/src/debug/libev-4.33-11.fc40.x86_64/ev.c:4021
__PRETTY_FUNCTION__ = "ev_run"
waittime = <optimized out>
sleeptime = <optimized out>
prev_mn_now = <optimized out>
to = <optimized out>
to = <optimized out>
#8 0x000000000040e15a in session_run (ps=0x106f9f0) at ../src/picom.c:2697
No locals.
#9 main (argc=<optimized out>, argv=<optimized out>) at ../src/picom.c:2817
dpy = <optimized out>
exit_code = 0
config_file = 0x0
all_xerrors = false
need_fork = false
exe_name = <optimized out>
pfds = {0, 0}
quit = <optimized out>
ret_code = <optimized out>
pid_file = <optimized out>
__func__ = "main"
edit: https://github.com/yshui/picom/commit/ee2c097588c8868d4505df4bfc5b9537f7d24c8d#diff-d7b85dd13ad37f50a9fc23e68961ebe40065e3254f15aa8d6fd4e8b9d51f0f80R236 looks like this line added yesterday doesn't consider cursor
being potentially NULL.
@awused that's a different one.
I will close this for now. ping me if you see this again.
@awused
looks like this line added yesterday doesn't consider cursor being potentially NULL.
good catch, thanks
Platform
fedora 40 amd64
GPU, drivers, and screen setup
4090, four monitors at 120hz
name of display: :0 display: :0 screen: 0 direct rendering: Yes Memory info (GL_NVX_gpu_memory_info): Dedicated video memory: 24564 MB Total available memory: 24564 MB Currently available dedicated video memory: 19508 MB OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA GeForce RTX 4090/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 555.58.02 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile
OpenGL version string: 4.6.0 NVIDIA 555.58.02 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 555.58.02 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Environment
i3, x11
picom version
vgit-7094d from earlier today
Diagnostics
``` [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "c" specified on target "I3_FLOATING_WINDOW" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "a" specified on target "_NET_WM_STATE" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Format specifier is deprecated. Format "32" specified on target "_NET_WM_STATE" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "a" specified on target "_NET_WM_STATE" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Format specifier is deprecated. Format "32" specified on target "_NET_WM_STATE" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "c" specified on target "_GTK_FRAME_EXTENTS" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "c" specified on target "_GTK_FRAME_EXTENTS" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Type specifier is deprecated. Type "a" specified on target "_NET_WM_STATE" will be ignored, you can remove it. [ 08/02/2024 20:28:36.811 c2_parse_target WARN ] Format specifier is deprecated. Format "32" specified on target "_NET_WM_STATE" will be ignored, you can remove it. **Version:** vgit-7094d ### Extensions: * Shape: Yes * RandR: Yes * Present: Present ### Misc: * Use Overlay: No * Config file specified: None * Config file used: /home/desuwa/.config/picom.conf ### Drivers (inaccurate): NVIDIA [ 08/02/2024 20:28:36.878 egl_init WARN ] The egl backend is still experimental, use with care. [ 08/02/2024 20:28:38.274 egl_init ERROR ] Failed to create EGL surface. Cannot initialize backend egl ### Backend: glx * Driver vendors: * GLX: NVIDIA Corporation * GL: NVIDIA Corporation * GL renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2 ```Configuration:
Configuration file
``` backend = "glx"; vsync = true; shadow = true; #no-dock-shadow = true; #no-dnd-shadow = true; shadow-radius = 10; shadow-offset-x = -5; shadow-offset-y = 0; shadow-opacity = 0.8; shadow-red = 0.11; shadow-green = 0.12; shadow-blue = 0.13; shadow-exclude = [ "name = 'Notification'", "_GTK_FRAME_EXTENTS@:c", "class_g = 'i3-frame'", "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'", "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'", "!I3_FLOATING_WINDOW@:c" ]; shadow-ignore-shaped = true; #alpha-step = 0.06; blur-background = false; blur-background-fixed = true; blur-kern = "7x7box"; blur-background-exclude = [ "class_g = 'i3-frame'", "window_type = 'dock'", "window_type = 'desktop'", "_GTK_FRAME_EXTENTS@:c" ]; # Duplicating the _NET_WM_STATE entries because compton cannot deal with atom arrays :-/ opacity-rule = [ "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" ]; fading = false; fade-delta = 7; fade-in-step = 0.05; fade-out-step = 0.05; fade-exclude = []; mark-wmwin-focused = true; mark-ovredir-focused = true; use-ewmh-active-win = true; detect-rounded-corners = true; detect-client-opacity = true; # refresh-rate = 0; dbe = false; glx-no-stencil = true; glx-copy-from-front = false; use-damage = true; # sw-opti = false; unredir-if-possible = false; focus-exclude = []; detect-transient = true; detect-client-leader = true; invert-color-include = []; xrender-sync-fence = true; wintypes: { tooltip = { fade = true; shadow = false; opacity = 1.00; focus = true; }; }; use_realtime_scheduling = false; ```Steps of reproduction
Stack trace
Other Details
I noticed it crashing earlier, so I rebuilt with what was then git head. So the crash was introduced before this or in something else (driver update?). Hard to say if it's nvidia or picom since I updated everything at once, including picom to some old git version from a few weeks ago since 11.2 is still crashy with the other crash.