From owner-freebsd-current@freebsd.org Wed Mar 10 15:25:12 2021 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C6CE56E714 for ; Wed, 10 Mar 2021 15:25:12 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4DwbVc1jCkz3k2b for ; Wed, 10 Mar 2021 15:25:12 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mailman.nyi.freebsd.org (Postfix) id 3899656E713; Wed, 10 Mar 2021 15:25:12 +0000 (UTC) Delivered-To: current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3860056E712 for ; Wed, 10 Mar 2021 15:25:12 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) (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 "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DwbVc0vZ4z3jtN for ; Wed, 10 Mar 2021 15:25:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qv1-xf33.google.com with SMTP id 30so933185qva.9 for ; Wed, 10 Mar 2021 07:25:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=ZOQZoeNhM+mn9X9X9ATbuvQvYlDEbpEJcLlsCTLqTo8=; b=oihK6XaoILa/5LkLkLuXHVu1Df7eEkTUvoJg7SnznxSJgh0bbVeWyjDGpBEQEc/g2G FnFPkWgtLDPZZnZDTWiqBOMhS2iFzL5XbpxDBXxb5cCoUtieDp4EiJPuPFHU5pTALNHx P7eqeiTnY7/B6hJ0+4G75HOCnqAdkIy1XO+RXR6lI8Q6+YNEzcXJpO2RjfYod5KX8BT/ zlwYlIqMyddTCTtrUzNLQ18F8iyr8q/zqC8ltg1PTzexeN6eNHO8hBl8EYOkm2fCM4g5 Fs6Oej3jPn2sCyrEgSjrLybOBvDr5xilkROIw0m6u0Ny3+71F0liycC+nVmgIj+KLm9P Zjlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=ZOQZoeNhM+mn9X9X9ATbuvQvYlDEbpEJcLlsCTLqTo8=; b=LQL/w0WFkSHAULfaPujE/PkFw8fHmX0iz7oD16ZqvodEmvzNgHH5Tl3ZWBUK2fdGRs w2EF06k+56ZRm+JpJ+M/XZUak6oBPlluh1K7CApsM8PD9T/V8uSTr/nBoKsMspmg43fS +aruGThMBpNQOdBhElR1yDXTmbIGyM+N5pMpL7FROfnboFKy2jpcTeck+mZ/qYLTUb18 /3S9AtLumckFNgHXa7TodAlldPpqDcYu66TqPWG8mGOlE4ILFH6JjH69znLg3Zz7KtL6 GHL9+A9l2Dl4m9CrMyzN/HlcjfxeYDXwpD977yzcrh09A0l4teEo4u6p+GYjJqW2Jcly LEYw== X-Gm-Message-State: AOAM532u10vJK/2NdQwjAdaPwoxeZ73AtvMvXctnHD4oNuqCeyscEzOU 2TL1lOCVU923kKL+p0ZYv+vKIKlNC70XFHKbklGvR2uyYvI8nA== X-Google-Smtp-Source: ABdhPJyy6UrAqto1kRQlVY7c/8Z+rBsuoK4ZVrEKPdEl8Qq1TbDcYtCt1bZozP2TjNONn4m4AR9gd3uhmsvqsfzKmi0= X-Received: by 2002:a0c:a954:: with SMTP id z20mr3275682qva.29.1615389911000; Wed, 10 Mar 2021 07:25:11 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Wed, 10 Mar 2021 08:25:00 -0700 Message-ID: Subject: Re: "panic: malloc(M_WAITOK) with sleeping prohibited" at main-n245363-b3dac3913dc9 To: David Wolfskill , Warner Losh , FreeBSD Current X-Rspamd-Queue-Id: 4DwbVc0vZ4z3jtN X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Mar 2021 15:25:12 -0000 On Wed, Mar 10, 2021 at 5:37 AM David Wolfskill wrote: > On Tue, Mar 09, 2021 at 04:04:56PM -0700, Warner Losh wrote: > > On Tue, Mar 9, 2021 at 2:46 PM David Wolfskill > wrote: > > ... > > > uma_zalloc_debug: zone "malloc-1024"umass0 on uhub2 > > > with the following non-sleepable locks held: > > > umass0: on usbus0 > > > exclusive sleep mutex CAM device lockumass0: SCSI over Bulk-Only; > quirks > > > = 0x4000 > > > (CAM device lock) r = 0 (0xfffff800122c9cd0) locked @ > > > /usr/src/sys/cam/cam_xpt.c:2333 > > > umass0:6:0: Attached to scbus6 > > > stack backtrace: > > > (probe0:umass-sim0:0:0:0): Down reving Protocol Version from 2 to 0? > > > #0 0xffffffff80c7cce1 at witnesuhub3: 6 ports with 6 removable, self > > > powered > > > s_debugger+0x71 > > > pass6 at umass-sim0 bus 0 scbus6 target 0 lun 0 > > > #1 0xffffffff80pass6: uhub4: 8 ports with 8 removable, self powered > > > c7ddfd at witness_warn+0x40d > > > #2 Removable Direct Access SCSI device > > > 0xffffffff80f42fe6 at uma_zallpass6: Serial Number 20100818841300000 > > > oc_arg+0x46 > > > #3 0xffffffff80be34pass6: 40.000MB/s transfers > > > panic: malloc(M_WAITOK) with sleeping prohibited > > > cpuid = 1 > > > time = 22 > > > KDB: stack backtrace: > > > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame > > > 0xfffffe00e157a2d0 > > > vpanic() at vpanic+0x181/frame 0xfffffe00e157a320 > > > panic() at panic+0x43/frame 0xfffffe00e157a380 > > > malloc_dbg() at malloc_dbg+0xd4/frame 0xfffffe00e157a3a0 > > > malloc() at malloc+0x34/frame 0xfffffe00e157a400 > > > g_post_event_x() at g_post_event_x+0x5a/frame 0xfffffe00e157a450 > > > g_post_event() at g_post_event+0x48/frame 0xfffffe00e157a4b0 > > > disk_create() at disk_create+0x16f/frame 0xfffffe00e157a600 > > > daregister() at daregister+0x70a/frame 0xfffffe00e157a880 > > > cam_periph_alloc() at cam_periph_alloc+0x57b/frame 0xfffffe00e157a950 > > > daasync() at daasync+0x2c2/frame 0xfffffe00e157a9c0 > > > xpt_async_process_dev() at xpt_async_process_dev+0x152/frame > > > 0xfffffe00e157aa10 > > > xpt_async_process() at xpt_async_process+0x334/frame 0xfffffe00e157ab20 > > > xpt_done_process() at xpt_done_process+0x3a3/frame 0xfffffe00e157ab60 > > > xpt_done_td() at xpt_done_td+0xf5/frame 0xfffffe00e157abb0 > > > fork_exit() at fork_exit+0x80/frame 0xfffffe00e157abf0 > > > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00e157abf0 > > > --- trap 0, rip = 0, rsp = 0, rbp = 0 --- > > > KDB: enter: panic > > > [ thread pid 17 tid 100095 ] > > > Stopped at kdb_enter+0x37: movq $0,0x128b8ce(%rip) > > > db> > > > > > I'm willing to "poke at it" a bit, given a hint or two... > > > > > > > OK. I know what's happening here. disk_create() posts an event and also > > expects to sleep to get memory. I can fix that too, but then that's one > > more 'no memory' hole. > > > > I'm unsure if we should keep playing whack-a-mole, or just defer this > > creation to the taskqueue we already have hanging around... > > > > Warner > > .... > > Same (build) machine had a similar panic after updating source to > main-n245372-d1cbe7908986 & rebuilding. FWIW. > > Also (as yesterday), neither laptop exhibited a problem after the > corresponding update. > Yes it "works" without invariants. I'm working on a better fix that isn't such a huge game of whack-a-mole that defers the async messages to an taskqueue where they can sleep for memory, if need be. Warner > Peace, > david > -- > David H. Wolfskill david@catwhisker.org > It is supremely disingenuous to claim a lack of jurisdiction, then > proceed to participate in a decision on the same matter. > > See https://www.catwhisker.org/~david/publickey.gpg for my public key. >