Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Aug 2021 12:52:14 -0400
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Ed Maste <emaste@freebsd.org>, Andrew Gallatin <gallatin@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 98215005b747 - main - ktls: start a thread to keep the 16k ktls buffer zone populated
Message-ID:  <e7d30e44-0d34-2943-545f-94fcad93c791@cs.duke.edu>
In-Reply-To: <CAPyFy2BN2sv0JzwEnwecVveHUYfo=8ayX0oCkC02iKXxKo2HzQ@mail.gmail.com>
References:  <202108051422.175EMBpP006556@gitrepo.freebsd.org> <CAPyFy2BN2sv0JzwEnwecVveHUYfo=8ayX0oCkC02iKXxKo2HzQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/5/21 11:59 AM, Ed Maste wrote:
> On Thu, 5 Aug 2021 at 10:22, Andrew Gallatin <gallatin@freebsd.org> wrote:
>>
>> The branch main has been updated by gallatin:
>>
>> URL: https://urldefense.com/v3/__https://cgit.FreeBSD.org/src/commit/?id=98215005b747fef67f44794ca64abd473b98bade__;!!OToaGQ!6H22s_lcYmkhuynvYHpkyGHe143j9dOq8CYazaDqtTi9kyapeu9DMyf0Tvo0tDDCVw$
>>
>> commit 98215005b747fef67f44794ca64abd473b98bade
>> Author:     Andrew Gallatin <gallatin@FreeBSD.org>
>> AuthorDate: 2021-08-05 14:15:09 +0000
>> Commit:     Andrew Gallatin <gallatin@FreeBSD.org>
>> CommitDate: 2021-08-05 14:19:12 +0000
>>
>>      ktls: start a thread to keep the 16k ktls buffer zone populated
> 
> My Cirrus-CI boot smoke test is now failing with:
> 
> Starting KTLS alloc thread for domain 0
> panic: sleeping without a lock
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0000b20ae0
> vpanic() at vpanic+0x187/frame 0xfffffe0000b20b40
> panic() at panic+0x43/frame 0xfffffe0000b20ba0
> _sleep() at _sleep+0x484/frame 0xfffffe0000b20c40
> ktls_alloc_thread() at ktls_alloc_thread+0x1c4/frame 0xfffffe0000b20cf0
> fork_exit() at fork_exit+0x80/frame 0xfffffe0000b20d30
> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0000b20d30
> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> KDB: enter: panic
> [ thread pid 2 tid 100027 ]
> Stopped at kdb_enter+0x37: movq $0,0x127877e(%rip)
> db> qemu-system-x86_64: terminating on signal 15 from pid 32579 (timeout)
> Did not boot successfully, see /tmp/ci-qemu-test-boot.log
> 

I'd thought that I'd tested this with INVARIANTS, but I guess I was 
wrong.  The assert is failing because I'm sleeping forever (sbt == 0).
I don't understand the point of the assert, but I've
reproduced the panic and am testing a workaround.

Drew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e7d30e44-0d34-2943-545f-94fcad93c791>