Skip to content

Assertion ret == 0 failed in sigfd_free_sigevent with libevent-2.2.1 #3572

@mgorny

Description

@mgorny

Issue description

After rebuilding tmux against libevent-2.2.1-alpha (we're testing to catch early issues), tmux is crashing immediately after opening a new session, with the following assertion:

/tmp/portage/dev-libs/libevent-2.2.1-r1/work/libevent-2.2.1-alpha-dev/signalfd.c:77: Assertion ret == 0 failed in sigfd_free_sigevent

Note that the assertion message appears on the new pty and disappears immediately as tmux exits. I have been able to capture it using asciinema. Curious enough, it doesn't appear at all if I pass -v (tmux just exits immediately with empty screen).

I can reproduce with tmux 3.3a and git (0eb5d25), against libevent 2.2.1 and git (libevent/libevent@2112c39).

Required information

Please provide the following information:

  • tmux version (tmux -V): tmux next-3.4
  • Platform (uname -sp): Linux AMD Ryzen 5 3600 6-Core Processor
  • $TERM inside and outside of tmux (echo $TERM): xterm-256color outside, can't get inside since it crashes ;-)
  • Logs from tmux (tmux kill-server; tmux -vv new): follow

tmux-client-150783.log
tmux-out-150785.log
tmux-server-150785.log

Backtrace:

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fa50cf2200f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fa50ced2ef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fa50cebc4ad in __GI_abort () at abort.c:79
#4  0x00007fa50d19cc2f in event_exit (errcode=-559030611) at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/log.c:96
#5  0x00007fa50d19d07e in event_errx (eval=-559030611, fmt=0x7fa50d1a6130 "%s:%d: Assertion %s failed in %s")
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/log.c:153
#6  0x00007fa50d1a049d in sigfd_free_sigevent (base=0x564a74002c90, signo=2)
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/signalfd.c:77
#7  0x00007fa50d1a0b3d in sigfd_del (base=0x564a74002c90, signo=2, old=0, events=8, p=0x0)
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/signalfd.c:201
#8  0x00007fa50d194c2a in evmap_signal_del_ (base=0x564a74002c90, sig=2, ev=0x564a74005548)
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/evmap.c:493
#9  0x00007fa50d19052e in event_del_nolock_ (ev=0x564a74005548, blocking=2)
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/event.c:2930
#10 0x00007fa50d190211 in event_del_ (ev=0x564a74005548, blocking=2)
    at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/event.c:2846
#11 0x00007fa50d190266 in event_del (ev=0x564a74005548) at /usr/src/debug/dev-libs/libevent-9999/libevent-9999/event.c:2855
#12 0x0000564a727f6a79 in proc_clear_signals (tp=0x564a74005530, defaults=1) at proc.c:280
#13 0x0000564a72815878 in spawn_pane (sc=0x7fffb9225c00, cause=0x7fffb9225b18) at spawn.c:432
#14 0x0000564a728149c7 in spawn_window (sc=0x7fffb9225c00, cause=0x7fffb9225b18) at spawn.c:171
#15 0x0000564a72799337 in cmd_new_session_exec (self=0x564a74019100, item=0x564a7405d240) at cmd-new-session.c:294
#16 0x0000564a727a0e78 in cmdq_fire_command (item=0x564a7405d240) at cmd-queue.c:647
#17 0x0000564a727a12d2 in cmdq_next (c=0x564a740778b0) at cmd-queue.c:763
#18 0x0000564a7280f623 in server_loop () at server.c:273
#19 0x0000564a727f65e9 in proc_loop (tp=0x564a74005530, loopcb=0x564a7280f5cf <server_loop>) at proc.c:217
#20 0x0000564a7280f5b4 in server_start (client=0x564a740031a0, flags=402718720, base=0x564a74002c90, lockfd=11, 
    lockfile=0x564a74005500 "S") at server.c:252
#21 0x0000564a7278a821 in client_connect (base=0x564a74002c90, path=0x564a74002c70 "/tmp/tmux-0/default", flags=402718720)
    at client.c:164
#22 0x0000564a7278ac40 in client_main (base=0x564a74002c90, argc=0, argv=0x7fffb9226350, flags=402718720, feat=0) at client.c:293
#23 0x0000564a7281e397 in main (argc=0, argv=0x7fffb9226350) at tmux.c:519

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions