From nobody Fri Jan 14 11:07:32 2022 X-Original-To: freebsd-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 75DCA194AC49 for ; Fri, 14 Jan 2022 11:07:48 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-24.consmr.mail.gq1.yahoo.com (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205]) (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 4JZz6W3jXKz4rFP for ; Fri, 14 Jan 2022 11:07:47 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1642158460; bh=BgWXOiK+bQ2e6LU3n1xmUfeWPLy0FYP9h12PIdzYRDQ=; h=From:Subject:Date:References:To:In-Reply-To:From:Subject:Reply-To; b=eyOcI3Sj4KDAmy5kAdfS2w0chM80YQv6CzgmxnqFwapPwGVT5n8yII34zB0zVIcaod+hUifAxM4j2CeFWAk7/Mh2tZxK5F18fY7R6tMrhso+3XWFwGSGUdGPN6AtEyDR91R4Wgt+65FvbDC/IyePcxYJGibcXVgviHz5MYblFquI8+xCJrkf/Mm9B+w6ZrzAhOPT3uR9clG1385WJ82eozJdNhzSaoKXXQ5IB5DjRwJwAytXq5anHxSC4mAqVO/KuRYm2Lg4ztqtEbfkJJGC8nG+d/9ciD05cF8iVasJZAsq92DFfAxhrt8UqnCQmDEjMzH8UFDw55vVsUi81bGVNQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1642158460; bh=pwLw5m4u3MFWdXAONxCHX5Us38hQSZhXnjfqH0tHzTu=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=UGcnfuP4ejDg7iZwPn7FC/MCxqsMGde24oh+NkS4qjWr5C7ci+l1xNLzBM/IlKkpnRqj4IqkTz9sDosd8YV7lSd+RjzdtxA4YOVFDDP++NUpioDfJdqmb8oPDE8eWzE54+PS+TMITabFbkkQXQquFip17WO8TL88ulFIOM/KhxinHmxghc5oSZKUqouvl85WpGkDnBG9jbUM599PRwpf/lAQ1bCNsd1RN94BgGkg/TvyVtI8dN1Lp4C5aZyXwZuN4LrZevPmotZI7Nj60jlgUGnGvpZxmdu+dTNsK9jXF1L/neAQZugpH6isqu2ES4i9Wg7ozvodIrOXr2UiI042Ug== X-YMail-OSG: lzqrYUMVM1k5u1a9kl.domh7on.qEwJ7eizr68qRpJz5NetIFNRYvHBlz46Yfi3 JmHkLTCFeWqg7aXbq2dh1RhqObeIvhe_4_5JHPija0uXeXe0V3jKRNoX.grwdnqLlqzNRVOAxXIH r2EbOhlcb9t_wyuMaJSUs9x68gWkuhYAZE2XOPcIfW4OuDSab9NkPH91GXdpx.Wbls.wx_LAOeMv .liwXNPRkfYSOJZRw__69tnbyVDaGF5SWwHFR4uS8vG_a37N._F4KYhml2yERCJxr9l9Z_tdMhc_ dhLMXZ3UnmXJu..XDbkrUZpOuS5E9LQMofErMRTIVQBZeBtwIaiC9eR3LHMqog_aBCzsFt0fPh35 6JtGfA7seetagEm5oO2bwlhZvFCYAB_IUU3hUoAdUYEYk5zvHo6UZKVj6fZ4m.EhmGYFx0_wbS33 EDn9GlzV80.Bx5llKCZNemyIYtb4yuj6wclGF42yVyJhGPFwoPiLDKRP2VwYfpbJPUUnlVKwWkfx XY7MnAhHhwF0vHXPo157TNiLLtx3hUzKAr8KpX8c.oKeQ0U1I54FZ.k7Vx4Gbr26AwYpeC9UuTzS cojccpfXm2fWiY_gM_QYPaY8sL1XPu1pcy8btZrfRaOaH4f.S3DaD4HuhGykA3osCNU6iXH2NQU6 Umj3FuOjwjEC_xXIVHzVN9UWatjtKQzXqSUqf2lHO12hS7QLW5oCyFARHH8XGqdxiTs81FRTub4e jptP_8jOT_i.c1oQMsZQgAxCorjX1xG.ui54fj72U00UBP6am9_bmQi4rRwbQ9a6796WuvaeLuYK fSxAAr0VU36FexW_bNUHc78Gkdj7QL6ZOGUva4UyAqQiOhodDtmcLve0m4BoiUyI04CvcdIxv7Pm Brar6XxG.qFOmzf2UDE9NzaCU8_4NCwZFWEw28PUPAlF_xpH.itib4dmGb6Z32wWwmaBgg95mkFI 5_hEDx9J_pzpWkbINibMHntWfmJxgqRMtXlORtL6Cb6roN7eBSVJRHaXe6ddMuOuGjrH5mGRNkWP 2b62a4rXyChKBLzoljWwSC4qapkHLf5rzFn5oejeDPDuj.PCPl6gOZwYgQ.jFwkt0Bzcmkgrg8sa IeZbScSldLxAx1q7YhbuISJZePa2ZKXyfFaYTPeU3QWsoY_Pwst5l4rAWc._gan_HpETXT0P4heE wWa4U7El3amOSR6GB33n9awt0tcmQ07PHBLRBeyK0ylbn0G3daCFwbE..8FrFSkjOo69v9ZZ8fRp dtGpLjKWJ7tj4u7JalDtuFDenxKo7fkQZYv_Bcsm2wUXBbvImaFfTEpPlAmHxU_J7SLk47SuB6O4 zjgp765IEqhhQ4roA5wCKSXySWno6QQBgwEuw0A2N4Ypduq7TZVf0wxMlm80I8ePqqOySxhNtzka axI2Msd2HgIG34MfZ3TDLXq7Ipkk5GrLErBjtxvearUYJmduf8W33Pnv.TX38f17oBcUNnvw2m5f QngAErY0aewC1APla2w8K5PMG9wLxGj1GcADZS_0voU4bSx854n_H10fMrA15m35hvpHsYwsB2rB IrdNwY1mgoqHny0bM_sKovprnii1uVsXoyJ7MsSWHZ6Of9ItFKPb4IagjybxPy8c5IjAenTrpYkA 1HkDs_FNWU.hBbN19lMxB7oy2GAxckWyx3Rt_R2KwJ3NWRqDhC5B5cVuV3X.C2rigO_wOPnokih6 1vkpg4wzRs3HZiF8U6PfGsrd95BpXx4DGyAyNJZqXMAZ0mQyT7WAzs92Z9NmftIl.uDPxDykVq2r p3QIy.gTX_rkmbHnZ7ENralG8hbiTemXrK5LN2l0K_3HzRnWPw49XRgSByP1ABOGsazqej5db67z 6OACgrn.W6cPGkCLslWT_yvqErm8xIIaL47Pwx6I1mtOdMSEWj8zXlaj_E5Vjm4rscc89fAv5juG alEn3oKLml3CKKm4ixDSW8OnambWwzirFxfhaXhZt4gOjFSvRWT1_pTHmkWaQ6dQyx9TC04ELpvU m0cnfm4c_zuZYNMQ2HQwzu5Qh4rJuwg45dNbV8fEP9K9DA7acHKwhkPpRdg0pxeaTmJMJWXkCE43 59YPrcvY47z8MaiNzMRLmLzymDxlZvPXOvNT6nspwG88dgeAurM3S1a5crHRfibuPEOYCoz0IW6o gk8gIHjqgj65MxsQq7r4z8ZeUKf6nMICTaOnqMVoqcGznmWFLZjBzGeKfxv.Z7aQ5u0AyQS9leBg DVabnciD79qakFwiE2O1Odw-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Fri, 14 Jan 2022 11:07:40 +0000 Received: by kubenode500.mail-prod1.omega.ne1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 17f25a25cfceab68cd9b536210ba3e5a; Fri, 14 Jan 2022 11:07:34 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable 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 Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: UBSAN report for main [so: 14] zpool status -x : applying non-zero offset 4 to null pointer Date: Fri, 14 Jan 2022 03:07:32 -0800 References: <62A093FB-BC32-42F7-B54B-05596A95C4A9@yahoo.com> To: freebsd-current In-Reply-To: <62A093FB-BC32-42F7-B54B-05596A95C4A9@yahoo.com> Message-Id: <077AAF38-04D6-4986-83C8-A401E6A9A57C@yahoo.com> X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Rspamd-Queue-Id: 4JZz6W3jXKz4rFP X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=eyOcI3Sj; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.205 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-3.49 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-0.99)[-0.994]; 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:36647, ipnet:98.137.64.0/20, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.205:from]; MLMMJ_DEST(0.00)[freebsd-current]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.205:from]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N On 2022-Jan-14, at 01:50, Mark Millard wrote: > # zpool status -x > all pools are healthy > /usr/main-src/sys/contrib/openzfs/module/nvpair/nvpair.c:3129:49: = runtime error: applying non-zero offset 4 to null pointer > SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior = /usr/main-src/sys/contrib/openzfs/module/nvpair/nvpair.c:3129:49 in=20 >=20 >=20 > For reference (some manual line splitting): >=20 > # ~/fbsd-based-on-what-commit.sh -C /usr/main-src/ > branch: main > merge-base: a3522837b021a46f2de81303247599ea51163d13 > merge-base: CommitDate: 2022-01-04 03:39:24 +0000 > a3522837b021 (HEAD -> main, freebsd/main, freebsd/HEAD) ipfilter = userland: Fix branch mismerge > n252196 (--first-parent --count for merge-base) >=20 > # uname -apKU > FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #29 > main-n252196-a3522837b021-dirty: Mon Jan 3 22:17:33 PST 2022 > = root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.a= md64/sys/GENERIC-NODBG > amd64 amd64 1400046 1400046 I was able to do the following to give some internal context for the report: # env ASAN_OPTIONS=3Ddetect_container_overflow=3D0 lldb `which zpool` (lldb) target create "/sbin/zpool" Current executable set to '/sbin/zpool' (x86_64). (lldb) run status Process 95471 launched: '/sbin/zpool' (x86_64) pool: zoptb state: ONLINE scan: scrub repaired 0B in 00:00:51 with 0 errors on Sun Oct 31 = 21:48:04 2021 config: NAME STATE READ WRITE CKSUM zoptb ONLINE 0 0 0 nvd2p3 ONLINE 0 0 0 errors: No known data errors Process 95471 stopped * thread #1, name =3D 'zpool', stop reason =3D Nullptr with nonzero = offset frame #0: 0x000000000112fca0 zpool`::__ubsan_on_report() at = ubsan_monitor.cpp:39 36 } 37 =09 38 SANITIZER_WEAK_DEFAULT_IMPL -> 39 void __ubsan::__ubsan_on_report(void) {} 40 =09 41 void __ubsan::__ubsan_get_current_report_data(const char = **OutIssueKind, 42 const char = **OutMessage, (lldb) bt * thread #1, name =3D 'zpool', stop reason =3D Nullptr with nonzero = offset * frame #0: 0x000000000112fca0 zpool`::__ubsan_on_report() at = ubsan_monitor.cpp:39 frame #1: 0x000000000112a461 = zpool`__ubsan::Diag::~Diag(this=3D0x00007fffffffae50) at = ubsan_diag.cpp:354:29 frame #2: 0x000000000112f394 = zpool`handlePointerOverflowImpl(Data=3D, = Base=3D, Result=3D, = Opts=3D(FromUnrecoverableHandler =3D false, pc =3D 34378976794, bp =3D = 140737488335024)) at ubsan_diag.h:0:21 frame #3: 0x000000000112eeca = zpool`::__ubsan_handle_pointer_overflow(Data=3D, = Base=3D, Result=3D) at = ubsan_handlers.cpp:815:3 frame #4: 0x0000000801258e1a libnvpair.so.2`nvlist_common [inlined] = nvs_native(nvs=3D0x00007fffffffb170, nvl=3D0x0000603000000160, = buf=3D0x0000000000000000, buflen=3D0x00007fffffffb2c0) at = nvpair.c:3129:49 frame #5: 0x0000000801258dba = libnvpair.so.2`nvlist_common(nvl=3D, buf=3D, = buflen=3D0x00007fffffffb2c0, encoding=3D, = nvs_op=3D) at nvpair.c:2656:9 frame #6: 0x00000008014135ba = libzfs.so.4`zcmd_write_nvlist_com(hdl=3D, = outnv=3D, outlen=3D, nvl=3D0x0000603000000160) = at libzfs_util.c:1204:2 frame #7: 0x00000008013e0000 = libzfs.so.4`zpool_log_history(hdl=3D0x000061d000000080, message=3D"zpool = status") at libzfs_pool.c:4444:8 frame #8: 0x000000000113770c zpool`main(argc=3D, = argv=3D) at zpool_main.c:10986:10 frame #9: 0x00000000010ada2d zpool`_start(ap=3D, = cleanup=3D) at crt1_c.c:73:7 (lldb) up 4 frame #4: 0x0000000801258e1a libnvpair.so.2`nvlist_common [inlined] = nvs_native(nvs=3D0x00007fffffffb170, nvl=3D0x0000603000000160, = buf=3D0x0000000000000000, buflen=3D0x00007fffffffb2c0) at = nvpair.c:3129:49 3126=09 3127 nvs->nvs_ops =3D &nvs_native_ops; 3128=09 -> 3129 if ((err =3D nvs_native_create(nvs, &native, buf + = sizeof (nvs_header_t), 3130 *buflen - sizeof (nvs_header_t))) !=3D 0) 3131 return (err); 3132=09 (lldb) up 1 frame #5: 0x0000000801258dba = libnvpair.so.2`nvlist_common(nvl=3D, buf=3D, = buflen=3D0x00007fffffffb2c0, encoding=3D, = nvs_op=3D) at nvpair.c:2656:9 2653 */ 2654 if (nvl_endian !=3D host_endian) 2655 return (ENOTSUP); -> 2656 err =3D nvs_native(&nvs, nvl, buf, buflen); 2657 break; 2658 case NV_ENCODE_XDR: 2659 err =3D nvs_xdr(&nvs, nvl, buf, buflen); (lldb) up 1 frame #6: 0x00000008014135ba = libzfs.so.4`zcmd_write_nvlist_com(hdl=3D, = outnv=3D, outlen=3D, nvl=3D0x0000603000000160) = at libzfs_util.c:1204:2 1201 char *packed; 1202 size_t len; 1203=09 -> 1204 verify(nvlist_size(nvl, &len, NV_ENCODE_NATIVE) =3D=3D = 0); 1205=09 1206 if ((packed =3D zfs_alloc(hdl, len)) =3D=3D NULL) 1207 return (-1); (lldb) up 1 frame #7: 0x00000008013e0000 = libzfs.so.4`zpool_log_history(hdl=3D0x000061d000000080, message=3D"zpool = status") at libzfs_pool.c:4444:8 4441=09 4442 args =3D fnvlist_alloc(); 4443 fnvlist_add_string(args, "message", message); -> 4444 err =3D zcmd_write_src_nvlist(hdl, &zc, args); 4445 if (err =3D=3D 0) 4446 err =3D zfs_ioctl(hdl, ZFS_IOC_LOG_HISTORY, = &zc); 4447 nvlist_free(args); (lldb) up 1 frame #8: 0x000000000113770c zpool`main(argc=3D, = argv=3D) at zpool_main.c:10986:10 10983 free(newargv); 10984=09 10985 if (ret =3D=3D 0 && log_history) -> 10986 (void) zpool_log_history(g_zfs, = history_str); 10987=09 10988 libzfs_fini(g_zfs); 10989=09 (lldb) up 1 frame #9: 0x00000000010ada2d zpool`_start(ap=3D, = cleanup=3D) at crt1_c.c:73:7 70 #endif 71 =09 72 handle_static_init(argc, argv, env); -> 73 exit(main(argc, argv, env)); 74 } =3D=3D=3D Mark Millard marklmi at yahoo.com