From nobody Fri May 22 15:50:32 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 4gMV9r349dz6f3n3 for ; Fri, 22 May 2026 15:50:56 +0000 (UTC) (envelope-from ray@ddteam.net) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 4gMV9r0wtFz3gBr for ; Fri, 22 May 2026 15:50:51 +0000 (UTC) (envelope-from ray@ddteam.net) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-67b8d9c26bbso15417085a12.2 for ; Fri, 22 May 2026 08:50:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779465050; cv=none; d=google.com; s=arc-20240605; b=KCZDAtlgL9eUITtW+JQmYdb3QFN+RgeNHUfXfsCwbRfc3UEFn76/nipNtA/tiKanTQ 1CcvPLZFSfOvdcmDdcHK9vNizVwMmT1vqaRUeQC0qV6Xqyp9/GuWOcW/h3DQWAof5BAl +ypHGEE6jVqiWBm0BehHEwZWS+IL9vDKHVPLhme3w8AfsuyKU73tesKN+eU/RNUsvj5C gaZ424wf+4DQlGGkSkhBj2D5R+LDxB9gyqAphYWqBucUxHGAdL/EiZjGnaB32sth7w2A 8Z1OOtrA7zWFPEaEkkZwjvMz1NlQPXUzfMh7ChbO+4IyqD/KpGpN8HvUZ+v+mvQIqOWf r1XA== 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=wrjV3/ZyGYJkVI0wjii8NWd3qD2KXvyYX0820xuI2Dk=; fh=nwRi2kYMmM/6katOJRme304CUTrTvVtsRHOeXjnsfpg=; b=HvnYxsfi2HBBAQ0nRGfZxLH9G0GjFXGQbkVFvnbQu37EOu+7yEG9h9N8kiisd+bczy XyRd1w5w+/R8jWcw1sDbynSGFTq8h3Ky0odvBkIIuIv4mqUgiZ+bwzBo319w7MKYDfZ3 06S8zSW8mYYNaa3c5HEfIWtxKZLWs45vntgFhrequu//g6TVTliNtSN9grXfkXQqu+HB KQCWMsvn8jeo06i33/cSQvaTfYLNRwJu+t4O5p7K5PdmIl5Q4vo8SfvDakn2sNAB9Yg3 td8uQI4Ik6c6ALFchtvQjfXjuueihcC6AIwyeCKzq6KKjKDJf9Ye8FoXhl78Or1RgVGj 3zgA==; 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=1779465050; x=1780069850; 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=wrjV3/ZyGYJkVI0wjii8NWd3qD2KXvyYX0820xuI2Dk=; b=hQlSWgpvzUqwUS9Kx2N4HSZqW2ZGXZ6gP55i34TXWorwzcc3/5ngKH7jk0lac1ZnIR 8622vjxjtLZLald2CDJzp1UangXHRRtdERvvd5VHFfuzVDGGlihNd5Xlrt3r938x1WgO TZml9/QM9fSAXobwgTBjEin2BZ2YglRdz/+cx95vRDSJsDpmmqC9qFi2tqDg0gposOjk WGXGGevUzmu8gry0aveDwqKING9LvPcnPNa9/k9LDcvpcluJAdBafHOV8uYhNEGLu3gz l5V3Y4txK/TEj9XMrZ57bBLXR4ij/VwGjrnnAb+o6q3VMJUv8zXHuCDisI5g7CxReclV 3OfQ== X-Forwarded-Encrypted: i=1; AFNElJ/WhGYYGOtXCqdFB7tWVDbFBwMBoXVivsytiTBcULnyAspSX94IM/I1u4CH2QicLtXDOwwghqfi@freebsd.org X-Gm-Message-State: AOJu0YzDiYHtloZIiHWQ/gzm9DVtV4SD7fgrGDpj7jKNpl9HAGxv7ayz wwN/5cS1osCaPHIVHVogDPzh9gDovqdlDfLu4YnKi7sf9jSz9cD4ZUnQR1Ff+IQytiP6U3qQOVj Hy5sKMOF0R9aqppTiuR10x6CfjAzGDikXRESHR59y X-Gm-Gg: Acq92OEJHbp2/BPPr/EUztcwSC2oLsUj5otS1kF4W2cnJaz+lkbaX3jbGc6XJ+wjw4L w1ukh+fCu8pd7F1j0RXhRfPjPEIp2lJ4+nOWmBBKX2i/MQdbUH/I8tvuJVe0pbS42J8QrKntoSQ f3ZXtZBrOY8JbVwdOf0V5l2jBnAR3OzaIaDsbw6VoPnxewThv5BD6b/6U3JrObUoEC0zMR/4H4F Qzr+MwAj9YhOkz0WO97L0RZoa8smSS+ltnjjftvPj2KnJpGRBF7Psku9Xm5tryarhvJKqF77fRC zHzN0XML X-Received: by 2002:a05:6402:26d1:b0:67c:6836:7b0a with SMTP id 4fb4d7f45d1cf-6889cc5afe2mr2294259a12.23.1779465049132; Fri, 22 May 2026 08:50:49 -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: Fri, 22 May 2026 18:50:32 +0300 X-Gm-Features: AVHnY4JqNNjB4NeUzRAvkCWhcqLVVgNmIXlY8sIkgjIendgpU6v9amMDcBQncCo Message-ID: Subject: Re: panic: mtx_lock_spin: recursed on non-recursive mutex vtbuf @ .. To: Ryan Libby Cc: "Bjoern A. Zeeb" , current@freebsd.org, imp@freebsd.org Content-Type: multipart/alternative; boundary="00000000000024e0c7065269fe46" 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: 4gMV9r0wtFz3gBr X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --00000000000024e0c7065269fe46 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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:3= 5 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 0xfffffe00d773eb60 > > 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 > --00000000000024e0c7065269fe46 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
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
<bze= eb-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 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/hom= e/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 0xfffffe00= d773e7a0
> vpanic() at vpanic+0x149/frame 0xfffffe00d773e8d0
> panic() at panic+0x43/frame 0xfffffe00d773e930
> __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x11b/frame 0xfffffe0= 0d773e970
> vtbuf_flush_mark() at vtbuf_flush_mark+0x82/frame 0xfffffe00d773e9b0 > vtbuf_unmark_on_cross() at vtbuf_unmark_on_cross+0xcc/frame 0xfffffe00= d773e9d0
> vtterm_fill() at vtterm_fill+0x27/frame 0xfffffe00d773ea00
> teken_subr_erase_line() at teken_subr_erase_line+0x90/frame 0xfffffe00= d773ea20
> 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 0xfffffe00d773eb60=
> 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 0xfffffe00d773= ef30
> --- 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 co= re.txt:
>
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/kern_mutex.c:353
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/dev/vt/vt_buf.c:744
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/dev/vt/vt_buf.c:864
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/dev/vt/vt_buf.c:210
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/dev/vt/vt_buf.c:232
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/dev/vt/vt_core.c:1201
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/teken/teken.c:121
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/teken/teken_subr.h:558
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/teken/teken.c:255
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/teken/teken.c:284
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/teken/teken.c:317
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/subr_terminal.c:422
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/sys/ttydevsw.h:114
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/tty_ttydisc.c:658
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/tty.c:550
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/fs/devfs/devfs_vnops.c:1980
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/sys/file.h:372
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/sys_generic.c:565
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/sys_generic.c:492
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-src.= git/sys/kern/sys_generic.c:478
>=C2=A0 =C2=A0 =C2=A0 at /usr/home/test/Sources/git/FreeBSD/freebsd-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
>

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.freeb= sd.org/src/commit/?id=3D8db0553ed6d8636d82a26896237099526b93be19

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
--00000000000024e0c7065269fe46--