From nobody Tue Jun 2 22:01:07 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 4gVPtG5jGcz6gTsN for ; Tue, 02 Jun 2026 22:01:26 +0000 (UTC) (envelope-from ray@ddteam.net) Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 4gVPtG1RcDz3Zn9 for ; Tue, 02 Jun 2026 22:01:26 +0000 (UTC) (envelope-from ray@ddteam.net) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-bef8b97655eso7038366b.0 for ; Tue, 02 Jun 2026 15:01:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780437684; cv=none; d=google.com; s=arc-20240605; b=MVWXe6DFlARJ51H3gc8aCfcwQzahTWyDdMWBby5row4GBL71FODCdZSBW8AesaRU53 AICOUvPsG3UKuY46unHMYR0HDNeIhPavguNNwg9nT7CShxnHrfWBfxq3geU2pRu5t1Tz b3vVJbWfDmCD21xeuNecjaQ9WX8qgbhZ6XLMf3QLUFFbqXYW5mpioI2/UMTyKbaClKo/ TSei+i8dAjtnh976E8ekaSeG6J7q2VMJEdFQzbRmZLbdrImYtCWeZNl4KEpbyq2xWh0A +IQzIURUrdlPLIaUvuIYEDBRTtqR2AXh2B9r+rXQ1Sk7qWpBKxpjq4IE8PEXz4sckdCu p+6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=wlCH1cuyYC+hOU4g3V2rlFdh+I5UlAPfE0gfaypabdI=; fh=BhiKp8tRoAYEa/uqAkM9oDmsJ3f+D9j96NIaLnEJZuo=; b=FvCKpBAMJvPxsvqBPDkrvi2zy9Xyu5/jvSpgC8oogJoOQbgYAL6f+/bWWGQkmtMbmC VPzsCEzyr06nkkBS/Tb50MOckVVs5H7p+kcWbzJAyHl2tqWlfM9B6g3loJgEhioMTTmu DndS4aC0fkRHP8dD2cTkF8MD7ZBxIjXr6Ikl62BmV136VxNhsA9+SWnfptAn0mZaiTog 17Rax+QXhLaUAcmf5PidFCFigk42wGkjm0Yi8exrmh6ibyuRfFjUpPLrTJTg+wccrDEU 4LJxQ3fUCCY5OEttgOOqfdxG3q7+/dt+//SJ6R6h08zm0QBMvEwcnbzZqHHeSrwXhj0a OpFg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780437684; x=1781042484; h=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=wlCH1cuyYC+hOU4g3V2rlFdh+I5UlAPfE0gfaypabdI=; b=RZws77s6o3DpNvrkdDD7EOZ1Y+WiPli4Aszr8HrxOYS8LTCOvQWo868CHsIpLwxB1d YiAwjZJjIEfP/6kphgbpewAvZEou+gdNykd/4S9FlSfmikxDGF2tSqM5pU6sugExlyng zig1geffo+jk1iNY7ZkjYRuVVvyaPAdAFjpprSUFm3W0b1KM+y0zZnlZ2TBaZCnABXco G/IT7oNmJJjqFU3aFTPFYPFQQEK7km7oLCmnDeH601+pmVHqb/wbFW9ytO+DzgF7jjrb wSmau2ndW8zz1FHMTpdivoMjemoQosASnPOwkul/bMPIxB/TKFGd/akheDMUuTOhNfKo WIZA== X-Forwarded-Encrypted: i=1; AFNElJ+tVIZ3WoD/zOzTvRWR/OX3247U4175Fxxnh54siyMOzKHPtl6VgaqGoJ+cj+XXRgklm6wTCp+c@freebsd.org X-Gm-Message-State: AOJu0YyTkldml81Xw4RsygkPy3nQ3OWmqCEYnmVNvM5wnKYlqY5aRUuN n3dfkRav1yN31yBjflrUjFUIOjSOtu0QsxUMoKrEFSj0j2j2IhlUh41Seyfm17IhkWDdN/rBWB/ f4f9ly4SX7CjiKI8NMvP7pmJiAd0W31tTD5THi1QQ X-Gm-Gg: Acq92OEgK9bzrj91csVaUjq1JTIzdpdOnpLR1bj/3yAHaygfQ9RBe4FwaOR75S2P46t nu2oOY4AdRYqB+lr8d6Rh19yuIyZQTnY/BZ/FJ1HzuxSIgAW3CgHoTv4lWojBiRIeVwDCBerNb7 sh23skaXea3qXwVNFakeorbXOwFLB+6aa+HhRQcmU8m6z7msn1sV/A5kGiyXg6T+9fT+tAqpPqF T2LWbbcjHa+emFsXVYBL0dYv4duXaL0KM3y8Y3LOp1kysfixxdQwyOV5d82Ow6DcwZMBE//GSuS a7NH85sJld0NujVbfI4= X-Received: by 2002:a17:906:6206:b0:bec:4799:3ee9 with SMTP id a640c23a62f3a-bf09c6aa8c0mr26038766b.5.1780437683566; Tue, 02 Jun 2026 15:01:23 -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: Aleksandr Rybalko Date: Wed, 3 Jun 2026 01:01:07 +0300 X-Gm-Features: AVHnY4KBO_atQsfwcKfgQADIgsCvcvk4xM8oHLfxX6kOuoTTWMnxqzrsUm2M5jI Message-ID: Subject: Re: panic: mtx_lock_spin: recursed on non-recursive mutex vtbuf @ .. To: Adrian Chadd Cc: Ryan Libby , "Bjoern A. Zeeb" , current@freebsd.org, imp@freebsd.org Content-Type: multipart/alternative; boundary="000000000000ac8b3f06534c731b" X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gVPtG1RcDz3Zn9 X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --000000000000ac8b3f06534c731b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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:74= 4 > >> > > >> > cpuid =3D 1 > >> > time =3D 1779437567 > >> > KDB: stack backtrace: > >> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame > 0xfffffe00d773e7a0 > >> > vpanic() at vpanic+0x149/frame 0xfffffe00d773e8d0 > >> > panic() at panic+0x43/frame 0xfffffe00d773e930 > >> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x11b/frame > 0xfffffe00d773e970 > >> > vtbuf_flush_mark() at vtbuf_flush_mark+0x82/frame 0xfffffe00d773e9b0 > >> > vtbuf_unmark_on_cross() at vtbuf_unmark_on_cross+0xcc/frame > 0xfffffe00d773e9d0 > >> > vtterm_fill() at vtterm_fill+0x27/frame 0xfffffe00d773ea00 > >> > teken_subr_erase_line() at teken_subr_erase_line+0x90/frame > 0xfffffe00d773ea20 > >> > teken_state_2() at teken_state_2+0x497/frame 0xfffffe00d773ea40 > >> > teken_input_char() at teken_input_char+0x47/frame 0xfffffe00d773ea60 > >> > teken_input() at teken_input+0x9f/frame 0xfffffe00d773ea90 > >> > termtty_outwakeup() at termtty_outwakeup+0xcf/frame 0xfffffe00d773eb= 60 > >> > 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 > 0xfffffe00d773ef30 > >> > --- 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:74= 4 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/vt/vt_buf.c:86= 4 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/vt/vt_buf.c:21= 0 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/vt/vt_buf.c:23= 2 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/dev/vt/vt_core.c:1= 201 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teken/teken.c:121 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teken/teken_subr.h= :558 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teken/teken.c:255 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teken/teken.c:284 > >> > at > /usr/home/test/Sources/git/FreeBSD/freebsd-src.git/sys/teken/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/devfs/devfs_vno= ps.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/amd64/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=3D8db0553ed6d8636d82a268962370995= 26b93be19 > >> > >> 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 > --000000000000ac8b3f06534c731b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hey, Adrian!

Know why, but wor= king 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 Adria= n Chadd <adrian@freebsd.org>= ; =D0=BF=D0=B8=D1=88=D0=B5:
hey! was this eventually fixed? I just hit it, notably a few da= ys old
-head (i think), but I still hit it.

THanks!


-a

On Fri, 22 May 2026 at 08:51, Aleksandr Rybalko <ray@freebsd.org> 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 <rlibby@freebsd.org> =D0=BF=D0=B8=D1=88=D0=B5:
>>
>> On Fri, May 22, 2026 at 1:46=E2=80=AFAM Bjoern A. Zeeb
>> <bzeeb-lists@lists.zabbadoz.net> 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 m= anaged to get a dump only checking now; the kernel from then is already gon= e.
>> >
>> > 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 0= xfffffe00d773e7a0
>> > vpanic() at vpanic+0x149/frame 0xfffffe00d773e8d0
>> > panic() at panic+0x43/frame 0xfffffe00d773e930
>> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x11b/frame = 0xfffffe00d773e970
>> > vtbuf_flush_mark() at vtbuf_flush_mark+0x82/frame 0xfffffe00d= 773e9b0
>> > vtbuf_unmark_on_cross() at vtbuf_unmark_on_cross+0xcc/frame 0= xfffffe00d773e9d0
>> > vtterm_fill() at vtterm_fill+0x27/frame 0xfffffe00d773ea00 >> > teken_subr_erase_line() at teken_subr_erase_line+0x90/frame 0= xfffffe00d773ea20
>> > teken_state_2() at teken_state_2+0x497/frame 0xfffffe00d773ea= 40
>> > teken_input_char() at teken_input_char+0x47/frame 0xfffffe00d= 773ea60
>> > teken_input() at teken_input+0x9f/frame 0xfffffe00d773ea90 >> > termtty_outwakeup() at termtty_outwakeup+0xcf/frame 0xfffffe0= 0d773eb60
>> > ttydisc_write() at ttydisc_write+0x337/frame 0xfffffe00d773ec= d0
>> > ttydev_write() at ttydev_write+0x13f/frame 0xfffffe00d773ed10=
>> > devfs_write_f() at devfs_write_f+0xf3/frame 0xfffffe00d773ed7= 0
>> > dofilewrite() at dofilewrite+0x81/frame 0xfffffe00d773edc0 >> > sys_writev() at sys_writev+0x69/frame 0xfffffe00d773ee00
>> > amd64_syscall() at amd64_syscall+0x168/frame 0xfffffe00d773ef= 30
>> > fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfff= ffe00d773ef30
>> > --- 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:
>> >
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/kern_mutex.c:353
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/dev/vt/vt_buf.c:744
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/dev/vt/vt_buf.c:864
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/dev/vt/vt_buf.c:210
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/dev/vt/vt_buf.c:232
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/dev/vt/vt_core.c:1201
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/teken/teken.c:121
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/teken/teken_subr.h:558
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/teken/teken.c:255
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/teken/teken.c:284
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/teken/teken.c:317
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/subr_terminal.c:422
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/sys/ttydevsw.h:114
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/tty_ttydisc.c:658
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/tty.c:550
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/fs/devfs/devfs_vnops.c:1980
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/sys/file.h:372
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/sys_generic.c:565
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/sys_generic.c:492
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/kern/sys_generic.c:478
>> >=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/fre= ebsd-src.git/sys/amd64/amd64/../../kern/subr_syscall.c:193
>> >
>> >
>> > --
>> > Bjoern A. Zeeb=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r15:7<= br> >> >
>>
>> I think it's probably related to or a regression from
>> 8db0553ed6d8 ("vt: Clear cut-paste selection if the area inte= rsects
>> with the filled region")
>> https://c= git.freebsd.org/src/commit/?id=3D8db0553ed6d8636d82a26896237099526b93be19
>>
>> which added vtbuf_unmark_on_cross() which is in your panic stack.<= br> >>
>> I don't know this code but it looks like the mutex is first ta= ken by
>> teken_input / teken_funcs_pre_input / vtterm_pre_input and then ag= ain
>> by teken_input with your panic stack.
>>
>> Ryan
--000000000000ac8b3f06534c731b--