From nobody Sat Jun 6 00:16:52 2026 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gXJlP5fB8z6gnck for ; Sat, 06 Jun 2026 00:17:05 +0000 (UTC) (envelope-from rlibby@gmail.com) Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXJlN5L45z3jlT for ; Sat, 06 Jun 2026 00:17:04 +0000 (UTC) (envelope-from rlibby@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of rlibby@gmail.com designates 209.85.128.173 as permitted sender) smtp.mailfrom=rlibby@gmail.com Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-7e1c3f47d78so28425227b3.0 for ; Fri, 05 Jun 2026 17:17:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780705023; x=1781309823; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lzWXe+lkaSg/95F6WkwOsLkw5p18A1wEp4bP/EZjtJA=; b=WIuBvu50Sdr5aneIA/bAAQ16NKlbjbngZuF9oYQSlFaEV7LviHQh0mGgRgOtp6WBLI gwH+kqGyBaGXgRO7DixLUw4s27LfeM8M9x/DKwq7mohtPiPJyuHmS3HTmOLhxbL2Inqy oTIfvi7o6t+SiJVinPuY/kLu4iNtBKOklYmP4826Y6wwJGh41GHPOgTqKDzlwvgN7Y8G DNXVDVuRv+r+r1oHSI6I5gfPR3l/JpECkdz1G612vPLmTbbFAqX4gkrGgvj8/ifo3Prw ACmGsH2oaOL7jIiMYWEjqEhHXmA2MGmxhIgcwXGZ5RS/ujAfVL75V4LqWVaXNs2e2p4l CRxA== X-Forwarded-Encrypted: i=1; AFNElJ+dnI/Qw2kpxrDdxgITP1fy7m5r8AWpRI2PmFyv7iklKM3jAW3SG9p/I5MY0bZPT8nuJiUR2jFR@freebsd.org X-Gm-Message-State: AOJu0YwhWm5C2BlTJ/st+wQyMWYMhAOc+UB2hTA1ESUz6WnORo1+9cZS /GUGnVgeVAYBeSUXlF8zx218dRtGCF88hRxEG08LNI0mMBqQpVAlCkqIkxbPVQ== X-Gm-Gg: Acq92OEiJefivBfHKhtUjwDBe3T2IiRVFpbuR7wP515JORj/NesIV1u0TLnpR3iv879 Z0x+kOkCZYyUeNWt0Jn/QWJbIiwgogirsTzQ3rPMyCwDYr6ilq+JsHKL/eA3JSY7Sc5zAzufLV6 XXVNVObP2v/OmH1QSgEoaFMbciRolfJkdoUNyR40qMx6iRPcB4sncba6S4jsICx1AcJ8hZjvbWU WRzMgh6x/c5Wh1EkF4ycz+TwtPhap2mSRqqpYC5BeUzN0gAKEhUIVUfKOTyJmJWNzCil0B8aZyt BTgm4E30HrzHceRB70eHu8XWHCxkK8vyiIHag+c6dHHTJWUpvlNy8vzYKz6zOslK0+oElXbcLML s9w8iGcapPaIoV6jjx+nPIlzFcYWDsal/lijndFrwdZQpOOxsJ+VYKwO0aB4qL3A6zShm6LNw9c iQjF4UgFGAzRF6Td1WsMhq/nV+BFmRo0gOzcMvbBsOZLcIW00gdvCG19LVufkn1mUnyEkieVJy3 Pdz6mU= X-Received: by 2002:a05:690c:e34d:b0:7a1:3088:e528 with SMTP id 00721157ae682-7ed0adbfd8bmr62676477b3.18.1780705023503; Fri, 05 Jun 2026 17:17:03 -0700 (PDT) Received: from mail-yx1-f52.google.com (mail-yx1-f52.google.com. [74.125.224.52]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7ea20ea816dsm57458557b3.7.2026.06.05.17.17.03 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Jun 2026 17:17:03 -0700 (PDT) Received: by mail-yx1-f52.google.com with SMTP id 956f58d0204a3-6603246b66dso2602286d50.1 for ; Fri, 05 Jun 2026 17:17:03 -0700 (PDT) X-Forwarded-Encrypted: i=1; AFNElJ/djKgeFXyr1/5l8hgLj8lWX7TJJI0J3VJaCs9MghnS6r79bWMq1l8gKaTx/6Jc9hCQGUycBGjO@freebsd.org X-Received: by 2002:a05:690e:169e:b0:651:bb21:e7fb with SMTP id 956f58d0204a3-66106fada73mr5151767d50.54.1780705022934; Fri, 05 Jun 2026 17:17:02 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: In-Reply-To: From: Ryan Libby Date: Fri, 5 Jun 2026 17:16:52 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AVVi8CdfqCvKtcoB5RgzZhcB7SqrFMIVMGzv36a9C9lOaGEJzNevC88LPagVnq0 Message-ID: Subject: Re: panic: mtx_lock_spin: recursed on non-recursive mutex vtbuf @ .. To: Aleksandr Rybalko Cc: Adrian Chadd , "Bjoern A. Zeeb" , current@freebsd.org, imp@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.66 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-0.999]; NEURAL_HAM_SHORT(-0.76)[-0.765]; FORGED_SENDER(0.30)[rlibby@freebsd.org,rlibby@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MISSING_XM_UA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.173:from,74.125.224.52:received]; PREVIOUSLY_DELIVERED(0.00)[current@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[rlibby@freebsd.org,rlibby@gmail.com]; FREEFALL_USER(0.00)[rlibby]; MLMMJ_DEST(0.00)[current@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.173:from]; R_DKIM_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_FIVE(0.00)[5] X-Spamd-Bar: -- X-Rspamd-Queue-Id: 4gXJlN5L45z3jlT On Tue, Jun 2, 2026 at 3:01=E2=80=AFPM Aleksandr Rybalko = wrote: > > Hey, Adrian! > > Know why, but working on a fix yet. > > Thanks! > > =D0=B2=D1=82, 2 =D1=87=D0=B5=D1=80=D0=B2. 2026=E2=80=AF=D1=80. =D0=BE 20:= 01 Adrian Chadd =D0=BF=D0=B8=D1=88=D0=B5: >> >> hey! was this eventually fixed? I just hit it, notably a few days old >> -head (i think), but I still hit it. >> >> THanks! >> >> >> -a >> >> On Fri, 22 May 2026 at 08:51, Aleksandr Rybalko wrote: >> > >> > Hey guys! >> > >> > Yeah, it seems my. >> > I will look into it today. >> > >> > Thanks! >> > >> > =D0=BF=D1=82, 22 =D1=82=D1=80=D0=B0=D0=B2. 2026=E2=80=AF=D1=80. =D0=BE= 18:35 Ryan Libby =D0=BF=D0=B8=D1=88=D0=B5: >> >> >> >> On Fri, May 22, 2026 at 1:46=E2=80=AFAM Bjoern A. Zeeb >> >> wrote: >> >> > >> >> > Hi, >> >> > >> >> > I was using the mouse in tmux on v1 when everying stopped. >> >> > Sadly we didn't switch to v0 for console but it seems I managed to = get a dump only checking now; the kernel from then is already gone. >> >> > >> >> > core.txt said. >> >> > >> >> > panic: mtx_lock_spin: recursed on non-recursive mutex vtbuf @ /usr/= home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/vt/vt_buf.c:744 >> >> > >> >> > cpuid =3D 1 >> >> > time =3D 1779437567 >> >> > KDB: stack backtrace: >> >> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffff= e00d773e7a0 >> >> > vpanic() at vpanic+0x149/frame 0xfffffe00d773e8d0 >> >> > panic() at panic+0x43/frame 0xfffffe00d773e930 >> >> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x11b/frame 0xffff= fe00d773e970 >> >> > vtbuf_flush_mark() at vtbuf_flush_mark+0x82/frame 0xfffffe00d773e9b= 0 >> >> > vtbuf_unmark_on_cross() at vtbuf_unmark_on_cross+0xcc/frame 0xfffff= e00d773e9d0 >> >> > vtterm_fill() at vtterm_fill+0x27/frame 0xfffffe00d773ea00 >> >> > teken_subr_erase_line() at teken_subr_erase_line+0x90/frame 0xfffff= e00d773ea20 >> >> > teken_state_2() at teken_state_2+0x497/frame 0xfffffe00d773ea40 >> >> > teken_input_char() at teken_input_char+0x47/frame 0xfffffe00d773ea6= 0 >> >> > teken_input() at teken_input+0x9f/frame 0xfffffe00d773ea90 >> >> > termtty_outwakeup() at termtty_outwakeup+0xcf/frame 0xfffffe00d773e= b60 >> >> > ttydisc_write() at ttydisc_write+0x337/frame 0xfffffe00d773ecd0 >> >> > ttydev_write() at ttydev_write+0x13f/frame 0xfffffe00d773ed10 >> >> > devfs_write_f() at devfs_write_f+0xf3/frame 0xfffffe00d773ed70 >> >> > dofilewrite() at dofilewrite+0x81/frame 0xfffffe00d773edc0 >> >> > sys_writev() at sys_writev+0x69/frame 0xfffffe00d773ee00 >> >> > amd64_syscall() at amd64_syscall+0x168/frame 0xfffffe00d773ef30 >> >> > fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe00d= 773ef30 >> >> > --- syscall (121, FreeBSD ELF64, writev), rip =3D 0x82601d5aa, rsp = =3D 0x8207a3408, rbp =3D 0x8207a3430 --- >> >> > KDB: enter: panic >> >> > >> >> > >> >> > In case it helps, I believe this is file:line as reported by gdb in= core.txt: >> >> > >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /kern_mutex.c:353 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/= vt/vt_buf.c:744 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/= vt/vt_buf.c:864 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/= vt/vt_buf.c:210 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/= vt/vt_buf.c:232 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/= vt/vt_core.c:1201 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teke= n/teken.c:121 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teke= n/teken_subr.h:558 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teke= n/teken.c:255 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teke= n/teken.c:284 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teke= n/teken.c:317 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /subr_terminal.c:422 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/sys/= ttydevsw.h:114 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /tty_ttydisc.c:658 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /tty.c:550 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/fs/d= evfs/devfs_vnops.c:1980 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/sys/= file.h:372 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /sys_generic.c:565 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /sys_generic.c:492 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/kern= /sys_generic.c:478 >> >> > at /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/amd6= 4/amd64/../../kern/subr_syscall.c:193 >> >> > >> >> > >> >> > -- >> >> > Bjoern A. Zeeb = r15:7 >> >> > >> >> >> >> I think it's probably related to or a regression from >> >> 8db0553ed6d8 ("vt: Clear cut-paste selection if the area intersects >> >> with the filled region") >> >> https://cgit.freebsd.org/src/commit/?id=3D8db0553ed6d8636d82a26896237= 099526b93be19 >> >> >> >> which added vtbuf_unmark_on_cross() which is in your panic stack. >> >> >> >> I don't know this code but it looks like the mutex is first taken by >> >> teken_input / teken_funcs_pre_input / vtterm_pre_input and then again >> >> by teken_input with your panic stack. >> >> >> >> Ryan How is the locking supposed to work in vt_mouse_event anyway? Unsolicited suggestion: require that the vb_lock be held on entry to vtbuf_set_mark, remove the lock acquisition from vtbuf_flush_mark, and make the call path through vt_mouse_event to vtbuf_set_mark and vtbuf_unmark acquire the lock. Ryan