Date: Mon, 21 Nov 2022 09:39:31 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 266480] Panic "sleeping thread" with qlnxe driver Message-ID: <bug-266480-227-T2XuKF9ziW@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-266480-227@https.bugs.freebsd.org/bugzilla/> References: <bug-266480-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266480 --- Comment #1 from Zhenlei Huang <zlei.huang@gmail.com> --- >From the stack dump: > Sleeping thread (tid 100919, pid 62482) owns a non-sleepable lock > KDB: stack backtrace of thread 100919: > sched_switch() at sched_switch+0x630/frame 0xfffffe00c741ddf0 > mi_switch() at mi_switch+0xd4/frame 0xfffffe00c741de20 > sleepq_timedwait() at sleepq_timedwait+0x2f/frame 0xfffffe00c741de60 > _sleep() at _sleep+0x1c8/frame 0xfffffe00c741dee0 > pause_sbt() at pause_sbt+0xf1/frame 0xfffffe00c741df10 > qlnx_stop() at qlnx_stop+0x4b5/frame 0xfffffe00c741dfa0 > qlnx_init_locked() at qlnx_init_locked+0x2a/frame 0xfffffe00c741e070 > qlnx_ioctl() at qlnx_ioctl+0x53a/frame 0xfffffe00c741e0d0 > ifhwioctl() at ifhwioctl+0x596/frame 0xfffffe00c741e150 > ifioctl() at ifioctl+0x4bc/frame 0xfffffe00c741e210 > kern_ioctl() at kern_ioctl+0x2b7/frame 0xfffffe00c741e270 > sys_ioctl() at sys_ioctl+0x101/frame 0xfffffe00c741e340 > amd64_syscall() at amd64_syscall+0x387/frame 0xfffffe00c741e470 > fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe00c741e470 > --- syscall (54, FreeBSD ELF64, sys_ioctl), rip =3D 0x800b54d4a, rsp =3D = 0x7fffffffd198, > rbp =3D 0x7fffffffd210 --- > panic: sleeping thread > cpuid =3D 3 > time =3D 1663318115 > KDB: enter: panic `qlnx_stop()` tried to sleep while is under mutex locked. That is prohibit since mutex is not sleepable lock. See mutext(9): > Sleeping > Sleeping while holding a mutex (except for Giant) is never safe and > should be avoided. There are numerous assertions which will fail if = this > is attempted. The driver calls `qlnx_mdelay()`, cold boot and hot boot differs. > #define qlnx_mdelay(fn, msecs) \ > {\ > if (cold) \ > DELAY((msecs * 1000)); \ > else \ > pause(fn, qlnx_ms_to_hz(msecs)); \ > } I guess this happens when your box is hot rebooted. Can you please try cold reboot (shutdown -p and then startup) your box and = try again? --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-266480-227-T2XuKF9ziW>