From owner-freebsd-ppc@freebsd.org Tue Jun 4 02:40:50 2019 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1674815C5614 for ; Tue, 4 Jun 2019 02:40:50 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-22.consmr.mail.bf2.yahoo.com (sonic312-22.consmr.mail.bf2.yahoo.com [74.6.128.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0207182876 for ; Tue, 4 Jun 2019 02:40:48 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: nq2POo4VM1mWkztVLOb1mtZR3bBw14wCJeZJU0hIDaJQIdGBEKLvF3Coweh5_iR HrtfNiwpMlK.NNMRVZ7ra6CPyvUxCrsKRZInHm6GanoZieEWLz45H5fTLOUU74S0H5U2LHTjeAyG qV9LNuFyTJG_p48sG6zrCMILoeCEEKauJi72MaBJwIt1rp0i4kSiC0_XPuuRzoGcph65rtn_LIjy yXNegbEF5wSA2QqHa8bnMlOAiNWSXwZarniQ1bcI2G5_HFhOK13qXxOjWoIIyAIHK7h.xCMbgnWT r2N4lBPHLva2JMNXILaCnoUuFYOLug.WW5amwLLYerAD0PzG49NKBDNKe9SCV0b7SE4c7oMSkP7K ucmPOggYnbvB.t34V7s8llQUvDkThyA2BaBQ2y0PjQvb4xgpgqa4cls8C1B9_lgHULW1gIZUx8hs BLm4OO6H2lasromxNweOn.HjcrYuu0sr3IeVrSOgMZcpFYoechoWQ5XML1eNNW0XPzX1JBrdGEuA Pv6udplMVwB9uuHCnBHE3IcYA9BTStgnOTir_J5GItRQug4es6E3QIgb0D2hUstOkm_jTAuYYeHv RezCwsl7B7Geqgfy80IAJ5s7uguQlFfTE7ZOgBEa.YJZWfVMO3YdWYczwU_sIJ8IjBkW5OiFH1ml VEBOA1ak_wGXXYAvHUVNxUIuk.UroupDjcBSg4MXw8rGdvPK0XbvQn1bFVYWDiEpRL9IjVGixDb5 HC1fBZe_i3v4VWDY.TXYmi0M7QdO.REF9VF5Tl6yddmuXey6MJx3X_klrRJA0Hag5lnCN4SgAmOE HWZ5mF0_K8HqAM_YDRX4G_db7cmz_SXP9E.iIXq1jX6JyKycAQ62iK1OLLVJiPYZBT_25xoaHn_a pdzWGXnKOVE9MeIzOcJR6ejYJa6MdUJi6jFGEjDWnOVC_Ds8LLQERLhhTrRq3lNPYedls3G1M2A5 p.8rv3iN4UJeGQcXFqHag7wD8QVcE3aa_TQaVFfE6arKSZkxvB9wk.TExwcCqxdB6NlIt6eMfFp8 7GaonjLvp4vckwEVIeyXXGQiqnI4SXbMQ3rFPx43NiUvoHM0wm96wfjo9aeJbINzWDOK7KgAcdo3 s.9A9t71irNG0X7RkYtnjW9qyUXtvps9j_NsE0Ih8MKrNx1u03u_yauacwNdp_kmyW576eykyqjF 9Jfib76HJJ49SAiD2NiW6GWJOfEM6r2SQe0FAyLueo.LsUX0- Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.bf2.yahoo.com with HTTP; Tue, 4 Jun 2019 02:40:42 +0000 Received: from c-67-170-167-181.hsd1.or.comcast.net (EHLO [192.168.1.115]) ([67.170.167.181]) by smtp428.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 5b8b3e44bdbb24d0ff2519a990f9226a for ; Tue, 04 Jun 2019 02:40:39 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: crash of 32-bit powerpc -r347549 kernel built via system-clang-8 (crash is while trying to mount the root file system) Date: Mon, 3 Jun 2019 19:40:36 -0700 References: <45D010BF-7654-43A6-8FF4-CCDEEF4004F6@yahoo.com> To: FreeBSD PowerPC ML In-Reply-To: <45D010BF-7654-43A6-8FF4-CCDEEF4004F6@yahoo.com> Message-Id: <4354EA25-69C2-4CAB-8273-62457333BD30@yahoo.com> X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: 0207182876 X-Spamd-Bar: ++ X-Spamd-Result: default: False [2.63 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:26101, ipnet:74.6.128.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_SPAM_SHORT(0.90)[0.905,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ppc@freebsd.org]; NEURAL_SPAM_MEDIUM(0.48)[0.477,0]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(1.21)[ip: (3.35), ipnet: 74.6.128.0/21(1.54), asn: 26101(1.23), country: US(-0.06)]; NEURAL_SPAM_LONG(0.54)[0.540,0]; RCVD_IN_DNSWL_NONE(0.00)[84.128.6.74.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jun 2019 02:40:50 -0000 On 2019-Jun-3, at 17:24, Mark Millard wrote: > I tried (cross) building a 32-bit powerpc kernel and world (non-debug) > with system-clang (on amd64) and use of devel/powerpc64-binutils . The > installed kernel panics trying to mount the root file system. > > FYI: Typed from picture of screen . . . > > Trying to mount root from ufs:/dev/ufs/FBSDG4Srootfs [rw,noatime]... > panic: getnewbuf_empty: Locked buf 0xd2800000 on free queue. > . . . > 0xd6919080: at kdb_backtrace+0x64 > 0xd69190e0: at vpanic+0x200 > 0xd6919150: at panic+0x50 > 0xd6919190: at getnewbuf+0x594 > 0xd69191f0: at getblkx+0x540 > 0xd69192a0: at breadn_flags+0x90 > 0xd69192f0: at ffs_use_bread+0x9c > 0xd6919330: at readsuper+0x68 > 0xd6919370: at ffs_sbget+0xcc > 0xd69193c0: at ffs_mount+0x18b8 > 0xd69194f0: at vfs_domount+0xa74 > 0xd69196a0: at vfs_donmount+0x944 > 0xd6919700: at kernel_mount+0x64 > 0xd6919740: at parse_mount+0x52c > 0xd6919840: at vfs_mountroot+0x71c > 0xd69199b0: at start_init+0x44 > 0xd6919a10: at fork_exit_0xcc > 0xd6919a40: at fork_trampoline+0xc > KDB: enter panic > [ thread pid 1 tid 100002 ] > Stopped at kdb_enter+0x74: addi r3,r0,0x0 > > This reproduces with each boot attempt. > > Replacing the kernel with one built via gcc 4.2.1 and booting > the result does not panic. > > > FYI for the context of the panic call: > > /usr/src/sys/kern/vfs_bio.c : > > static struct buf * > buf_alloc(struct bufdomain *bd) > { > struct buf *bp; > int freebufs; > > /* > * We can only run out of bufs in the buf zone if the average buf > * is less than BKVASIZE. In this case the actual wait/block will > * come from buf_reycle() failing to flush one of these small bufs. > */ > bp = NULL; > freebufs = atomic_fetchadd_int(&bd->bd_freebuffers, -1); > if (freebufs > 0) > bp = uma_zalloc(buf_zone, M_NOWAIT); > if (bp == NULL) { > atomic_add_int(&bd->bd_freebuffers, 1); > bufspace_daemon_wakeup(bd); > counter_u64_add(numbufallocfails, 1); > return (NULL); > } > /* > * Wake-up the bufspace daemon on transition below threshold. > */ > if (freebufs == bd->bd_lofreebuffers) > bufspace_daemon_wakeup(bd); > > if (BUF_LOCK(bp, LK_EXCLUSIVE | LK_NOWAIT, NULL) != 0) > panic("getnewbuf_empty: Locked buf %p on free queue.", bp); I tried making a debug kernel build via system-clang-8. It reports differently but still during getnewbuf being active on the stack (again typed from a picture): Trying to mount root from ufs:/dev/ufs/FBSDG4Srootfs [rw,noatime]... . . . (ignore witness/diagnostic warnings) . . . panic: bq_remove: Locked buf 0xd2a00000 not on a queue. . . . 0xd6b7bfd0: at kdb_backtrace+0x64 0xd6b7c030: at vpanic+0x200 0xd6b7c0a0: at panic+0x50 0xd6b7c0e0: at bq_remove+01e0 0xd6b7c100: at buf_import+0x8c 0xd6b7c130: at uma_zalloc_arg+0x544 0xd6b7c190: at getnewbuf+0x380 0xd6b7c1f0: at getblkx+0x620 0xd6b7c290: at breadn_flags+0x90 0xd6b7c2e0: at ffs_use_bread+0xa8 0xd6b7c320: at readsuper+0x68 0xd6b7c360: at ffs_sbget+0xcc 0xd6b7c3b0: at ffs_mount+0xefc 0xd6b7c4e0: at vfs_domount+0xa754 0xd6b7c690: at vfs_donmount+0x78c 0xd6b7c6f0: at kernel_mount+0x7c 0xd6b7c730: at parse_mount+0x52c 0xd6b7c830: at vfs_mountroot+0x660 0xd6b7c9a0: at start_init+0x4c 0xd6b7ca10: at fork_exit_0xb0 0xd6b7ca40: at fork_trampoline+0xc /usr/src/sys/kern/vfs_bio.c : static void bq_remove(struct bufqueue *bq, struct buf *bp) { CTR3(KTR_BUF, "bq_remove(%p) vp %p flags %X", bp, bp->b_vp, bp->b_flags); KASSERT(bp->b_qindex != QUEUE_NONE, ("bq_remove: buffer %p not on a queue.", bp)); . . . For reference: static int buf_import(void *arg, void **store, int cnt, int domain, int flags) { struct buf *bp; int i; BQ_LOCK(&bqempty); for (i = 0; i < cnt; i++) { bp = TAILQ_FIRST(&bqempty.bq_queue); if (bp == NULL) break; bq_remove(&bqempty, bp); store[i] = bp; } BQ_UNLOCK(&bqempty); return (i); } === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)