From nobody Wed Jan 19 04:47:56 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 DD35119669D6 for ; Wed, 19 Jan 2022 04:48:09 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic309-22.consmr.mail.gq1.yahoo.com (sonic309-22.consmr.mail.gq1.yahoo.com [98.137.65.148]) (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 4JdtS83sGCz3tjH for ; Wed, 19 Jan 2022 04:48:08 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1642567681; bh=0ALcyfHHE8OHzXxjTTaqD5TsqFqANjckk9DYWSsJWIM=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=Tr3tjBozFa/68ojFvKhVs5EC3ssD2Eoqq8d0ArTQ6wxPQHGrE8uSmm+lUNwZwT3i/jHRG5gue/r1qYWUBooBAp7dG9rzhbFEoKjln3RWTfE5cnKCvkU12VvYm5WqRs86ctYhGaMfuKE2nys7SRmf7/I8YYR+R70tc1v9Gm4Q6x4N099853kUvnENNO60ZSMKx5RUciXQCATO0seqqJeXVyINHqCeKtRPHU3smXZGij+Wkw4EGK0g7UQzNhqR0rgLMzn8gC3QJUppWYQ0TgYGUZMIVtoKzgnN7NwdN+ezrl3BO2fQE5cH+QcRUbt6wN11XAiZkOO66IzTpTvP/lDX3w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1642567681; bh=60b4lvBESP3g4gfb0B4qX9AbqTw2ROT2zGMegrVHj34=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=ddP3cYHz4iie57CvTw/i2lZEkqCsGWFPVRG0ytx9+hkDCuTkt+NfmdI7okH6nS9Vou3zfFMtHyb29KSKOw1tELTdqOfslY6QmwfysO7UAREGjPTbqawXot1k4VX1J1Ms8gpcBtRVzRL9HsdjIQa/q8mVI6ish8qMoFMzTi2bSz07xrtHLwGrOdg9mQr+o7eAFTmmC7ffOZO0dIat0Uz7VEchzN5DCM2D+EtV87zcPpWp5tf2cokluvkBl10QbGAksI2Ft1RXznAsn0CELHwpZidrU65HXjDy3m06Q+J7dpSO4xN57pj2F3wNMM2rqCWBcOETVW0zrgYJQw084OdpoQ== X-YMail-OSG: AqyeNzoVM1nFtisJvj5nnc_GIZQEDYGu7f4oQRFDmDQeU4wbTTaspiLDi6btFuv TsrlqLKzadTJPFS0DgpwiiiHKKJG57QxtX266ClVUom4klt8C5c6CJ6t.uB62rnLhdpGbNrgJtoe cOubXiBtDmBqwJ0wKPMrTkenWQ477IaHhDM3NdjQFtcjKTnSfHt9dxoWlu6uWKGS8OICTJrrpoCm aDQUfqD8vy4YQAsxREyqRux9k6_yitxf0q_XgW5l29T2sgnj7puornbghy9ggWl3v8A0PGapBS_2 H8qgAhPBlMgF7frUkD1QZAy4ViPZM9ufbyTlMkgB96HJRJDPBUfywU9ypjke.MLqYkNIDBvdiMgV LnzWG3Y3se0URivBkJMvW4z1lCa7QFFSitMeZ72UuqTlLexUhKRG9Ka4Yghjt7kZ4kbFN8sgPsO_ ec3BAacQQWIdo5TBgfZ9mcp5jJ28_aItKug7ooa75Kgkm7A70jRZvGk7VAPdx__9Ze2Gcosq9.g. _Vz8.y4LfOhWJk8c_R_uwMD9mqVGtIvQpmct9dqC0R1AUSZEziSeVgC84IhfOf61NKGnAiFTlPpI VO4AnbhsrPAa62UvQUjgZAsCQnCkzHQgq9DNO7WIQlqFGNvqQZyzKL8F3Tz9fYbxKO2Sxis73cTd YGiTmF67RvfodjiP89En4ehBxlZptQ74YqDlYyiRQ0OP2BtvvY15XbnfhP5YSud3MAh1xC4kCYQA 8nnB9eJiOSfzuzEsSKmWY2SHmkHwGPtO3OmVMHnNCOlkQvvjIze3_k80VjVNjMsl9S50CEbkwWFR BLO__EV2xAn1l7ma5GhaY0ulZf1YFxTl6INwA_tAu3v7lPLYqn0OgUs3cyH06AKjWMFyPFskzpj9 tChgP6in1TXMtDmxHBlZOfhsJQ3eVMevwuiOFvwXTtuStU8gK3D.A01xyqRwJlVAW34pl4Qsr_JK 4xxHH9HIWzGTQZaa6Gk1jsC6W5FvcvGL33f__cHR1annRWRGhyRqWS_kAX9ICzp6NxjjLLhW2fVx pqVAyMEj_D9Po.JzFC7XKGlZmP9JfUSIeajqzg8p.iZptYBwl.YNawIJEQMxgHWnlv2wASFaAvvZ 1wjm_MQgbEX2MwauZ5AQjA_nG94v2LO0Dty2e_IFXnwuc6yF89_tIeV.Iq9t5y4sgtAJTvy.kCTK cCojQb8GXbrKSj_kPFUD1QIkLBS77Mqz9Y.ENtyjiSzpkGyyGtdTEKF.FJe.lII59Y92lXkaoWTE tI5IPsEXZJ5Uf8txzW5rmr4UgxfSMsTXXr7BxLHK5rLSSf5TfSB78jfBXJG8gyiwQ4L3zg_u2sGu KB77yRTNCpn6hya.DUAgAegqPEVBKGr.xKlT4M3jf3rlNo4Kbb8xkcSLSeM94od9_ogA2QXg8P7u EXSLY_EDflAh42HEJa7VkqbBS8.dQEy87L0q6_oF2PK6BC8ywF9FjMH5WWxNrcRZlVef1Fj6qmt3 5Nt9tx1elKWrLPS0VBREjOVYTDeIL3UJTpffFWu4i9Sbq83_yYZ.x7_l6b72TNBPCZW1k1rCpJQy xyrZHvFeB.RJIVWoI0hIhVAKxTOHphBJJ2F9slErvXgF9DLeXE2v53FX0SH.ii4epPtBwjcbPbwa gUqf_wTJHuahQUkcThISqckZfRrouUHqU.iYwFAA9.QD.Z5v2Sui2hNfICog2fDzeufeeyo6AkcQ PIXp_lFDWlanUfPx1s8pmoZmtqxZmxYApDJT9I9vA3yK1EcBLoUGuvsQb5FajSRuxCD.JG9l9UiB EVtpl71W5okWSjJ3yKQB2rVw9wXX822M3QzbOsrT_o0Gzi9n8QzFJxCTIBYcbU4ryo8PMFSrzzBV 0ggKuehDocgifYfIIcyciT7WFBVaO.1ZEvyxa2dAZW61XXmKlJL0d21DN8G_Yq7yNE7b7JXUS50m jSQClMlQTNK_1MV.tXqNJOA7yKAt7bP8BF_ptPGSfHuboDlVXRZq697.Z.3NSBj9qL.RwjajsuUN 6S9ehCmoSRepGQ0CPu9YAWtjixKHkbaP6wDZukjjVaiBQr_qdvHOVZvbVvXv8_0bDutzZd6lcM2D a29C53XH5rkk1e9Of_cjScdrV5VGzpNXNb31FrUz7bVmjEJnVC12Ydwqyl3.lTV6d1douXZx1KqH QRmNIcHjZANNasqDp_eoWa.0PtjUcS7s7KLVvbCc2N1mPesUH9beMVx7azW8b7RdIWW0_buW7Qjg uGY1lHt_Z4slt5vi_.oROMvoN7id2Ga2RFp2k2AK.n9rYa.LHQYm73KvEcNHKUKQ7GsE1fPhR X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.gq1.yahoo.com with HTTP; Wed, 19 Jan 2022 04:48:01 +0000 Received: by kubenode527.mail-prod1.omega.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 7399a027e50863b3d793abc1ec536bb5; Wed, 19 Jan 2022 04:47:58 +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: UBSAN report for libc: __ldtoa can set up gdtoa to do a "Left shift of negative value -18" Message-Id: Date: Tue, 18 Jan 2022 20:47:56 -0800 To: freebsd-current X-Mailer: Apple Mail (2.3654.120.0.1.13) References: X-Rspamd-Queue-Id: 4JdtS83sGCz3tjH X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=Tr3tjBoz; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.148 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-3.50 / 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(-1.00)[-1.000]; 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.65.148:from]; MLMMJ_DEST(0.00)[freebsd-current]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.148:from]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N Using lldb to look some at the internals for: gdtoa_gdtoa.c:254:32: runtime error: left shift of negative value -18 . . . Process 48846 stopped * thread #1, name =3D 'acpphint_kernels', stop reason =3D Invalid shift = base frame #0: 0x000000000032b3c0 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__u= bsan_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 'acpphint_kernels', stop reason =3D Invalid shift = base * frame #0: 0x000000000032b3c0 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__u= bsan_on_report() at ubsan_monitor.cpp:39 frame #1: 0x0000000000325b81 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`__ubs= an::Diag::~Diag(this=3D0x00007fffffffb960) at ubsan_diag.cpp:354:29 frame #2: 0x0000000000328819 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`handl= eShiftOutOfBoundsImpl(Data=3D0x0000000808eb05a0, LHS=3D, = RHS=3D, Opts=3D(FromUnrecoverableHandler =3D false, pc =3D = 34505352983, bp =3D 140737488337968)) at ubsan_diag.h:0:9 frame #3: 0x000000000032832a = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__u= bsan_handle_shift_out_of_bounds(Data=3D, LHS=3D,= RHS=3D) at ubsan_handlers.cpp:370:3 frame #4: 0x0000000808ade717 libc.so.7`__gdtoa(fpi=3D, = be=3D-81, bits=3D, kindp=3D0x00007fffffffbe80, = mode=3D, ndigits=3D, decpt=3D, = rve=3D) at gdtoa_gdtoa.c:254:32 frame #5: 0x0000000808ad6e43 libc.so.7`__ldtoa(ld=3D, = mode=3D, ndigits=3D, decpt=3D, = sign=3D, rve=3D) at _ldtoa.c:106:8 frame #6: 0x000000080899e0f7 libc.so.7`__vfprintf(fp=3D, = locale=3D, fmt0=3D, ap=3D) at = vfprintf.c:718:9 frame #7: 0x00000008089cab43 = libc.so.7`vsnprintf_l(str=3D, n=3D29, locale=3D,= fmt=3D, ap=3D) at vsnprintf.c:80:8 frame #8: 0x00000000002c6e84 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__i= nterceptor_vsnprintf_l(str=3D"\b(j", size=3D30, loc=3D0x0000000000000000, = format=3D"%.*Lg", ap=3D0x00007fffffffd2b0) at = sanitizer_common_interceptors.inc:1676:1 frame #9: 0x00000000002c70c2 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__i= nterceptor_snprintf_l(str=3D"\b(j", size=3D30, loc=3D0x0000000000000000, = format=3D"%.*Lg") at sanitizer_common_interceptors.inc:1680:1 frame #10: 0x000000080171855f libc++.so.1`std::__1::num_put > = >::do_put(this=3D, __s=3Dstd::__1::num_put > = >::iter_type @ 0x00007fffffffd320, __iob=3D0x0000000000db2040, __fl=3D' = ', __v=3D0.000006883) const at locale:1631:16 frame #11: 0x0000000801706129 = libc++.so.1`std::__1::basic_ostream = >::operator<<(long double) [inlined] std::__1::num_put > = >::put(this=3D0x0000000801758990, __s=3Dstd::__1::num_put > = >::iter_type @ r15, __iob=3D0x0000000000db2040, __v=3D) = const at locale:1325:16 frame #12: 0x000000080170610d = libc++.so.1`std::__1::basic_ostream = >::operator<<(this=3D0x0000000000db2040, __n=3D0.000006883) at = ostream:666:21 frame #13: 0x0000000000451ccb = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`void = report_survey(clock_info=3D) at = acpphint_kernelsurveyors_main.cpp:118:17 frame #14: 0x0000000000450ad1 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`main(= argc=3D, argv=3D) at = acpphint_kernelsurveyors_main.cpp:308:5 frame #15: 0x00000000002a9170 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`_star= t(ap=3D, cleanup=3D) at crt1_c.c:73:7 (lldb) thread info -s thread #1: tid =3D 101028, 0x000000000032b3c0 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__u= bsan_on_report() at ubsan_monitor.cpp:39, name =3D 'acpphint_kernels', = stop reason =3D Invalid shift base { "col": 32, "description": "invalid-shift-base", "filename": "gdtoa_gdtoa.c", "instrumentation_class": "UndefinedBehaviorSanitizer", "line": 254, "memory_address": 0, "summary": "Left shift of negative value -18", "tid": 101028, "trace": [ 34505352982, 34505322050, 34504040694, 34504223554, 34383955294, 34383880488, 34383880460 ] } (lldb) up 4 frame #4: 0x0000000808ade717 libc.so.7`__gdtoa(fpi=3D, = be=3D-81, bits=3D, kindp=3D0x00007fffffffbe80, = mode=3D, ndigits=3D, decpt=3D, = rve=3D) at gdtoa_gdtoa.c:254:32 251 dval(&d) *=3D 1 << j1; 252 word0(&d) +=3D j << Exp_shift - 2 & Exp_mask; 253 #else -> 254 word0(&d) +=3D (be + bbits - 1) << Exp_shift; 255 #endif 256 if (k >=3D 0 && k <=3D Ten_pmax) { 257 if (dval(&d) < tens[k]) (lldb) up frame #5: 0x0000000808ad6e43 libc.so.7`__ldtoa(ld=3D, = mode=3D, ndigits=3D, decpt=3D, = sign=3D, rve=3D) at _ldtoa.c:106:8 103 abort(); 104 } 105 =09 -> 106 ret =3D gdtoa(&fpi, be, vbits, &kind, mode, ndigits, = decpt, rve); 107 if (*decpt =3D=3D -32768) 108 *decpt =3D INT_MAX; 109 return ret; (lldb) up frame #6: 0x000000080899e0f7 libc.so.7`__vfprintf(fp=3D, = locale=3D, fmt0=3D, ap=3D) at = vfprintf.c:718:9 715 if (flags & LONGDBL) { 716 fparg.ldbl =3D GETARG(long = double); 717 dtoaresult =3D cp =3D -> 718 __ldtoa(&fparg.ldbl, expchar = ? 2 : 3, prec, 719 &expt, &signflag, &dtoaend); 720 } else { 721 fparg.dbl =3D GETARG(double); (lldb) up frame #7: 0x00000008089cab43 libc.so.7`vsnprintf_l(str=3D, = n=3D29, locale=3D, fmt=3D, ap=3D) = at vsnprintf.c:80:8 77 f._flags =3D __SWR | __SSTR; 78 f._bf._base =3D f._p =3D (unsigned char *)str; 79 f._bf._size =3D f._w =3D n; -> 80 ret =3D __vfprintf(&f, locale, fmt, ap); 81 if (on > 0) 82 *f._p =3D '\0'; 83 return (ret); (lldb) up frame #8: 0x00000000002c6e84 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__i= nterceptor_vsnprintf_l(str=3D"\b(j", size=3D30, loc=3D0x0000000000000000, = format=3D"%.*Lg", ap=3D0x00007fffffffd2b0) at = sanitizer_common_interceptors.inc:1676:1 1673 #if SANITIZER_INTERCEPT_PRINTF_L 1674 INTERCEPTOR(int, vsnprintf_l, char *str, SIZE_T size, void *loc, 1675 const char *format, va_list ap) -> 1676 VSNPRINTF_INTERCEPTOR_IMPL(vsnprintf_l, str, size, loc, format, = ap) 1677=09 1678 INTERCEPTOR(int, snprintf_l, char *str, SIZE_T size, void *loc, 1679 const char *format, ...) (lldb) up frame #9: 0x00000000002c70c2 = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`::__i= nterceptor_snprintf_l(str=3D"\b(j", size=3D30, loc=3D0x0000000000000000, = format=3D"%.*Lg") at sanitizer_common_interceptors.inc:1680:1 1677=09 1678 INTERCEPTOR(int, snprintf_l, char *str, SIZE_T size, void *loc, 1679 const char *format, ...) -> 1680 FORMAT_INTERCEPTOR_IMPL(snprintf_l, vsnprintf_l, str, size, loc, = format) 1681 #endif // SANITIZER_INTERCEPT_PRINTF_L 1682=09 1683 INTERCEPTOR(int, vsprintf, char *str, const char *format, = va_list ap) (lldb) up frame #10: 0x000000080171855f libc++.so.1`std::__1::num_put > = >::do_put(this=3D, __s=3Dstd::__1::num_put > = >::iter_type @ 0x00007fffffffd320, __iob=3D0x0000000000db2040, __fl=3D' = ', __v=3D0.000006883) const at locale:1631:16 1628 char* __nb =3D __nar; 1629 int __nc; 1630 if (__specify_precision) -> 1631 __nc =3D __libcpp_snprintf_l(__nb, __nbuf, = _LIBCPP_GET_C_LOCALE, __fmt, 1632 (int)__iob.precision(), __v); 1633 else 1634 __nc =3D __libcpp_snprintf_l(__nb, __nbuf, = _LIBCPP_GET_C_LOCALE, __fmt, __v); (lldb) up frame #11: 0x0000000801706129 libc++.so.1`std::__1::basic_ostream >::operator<<(long double) [inlined] = std::__1::num_put > >::put(this=3D0x0000000801758990, = __s=3Dstd::__1::num_put > >::iter_type @ r15, = __iob=3D0x0000000000db2040, __v=3D) const at locale:1325:16 1322 iter_type put(iter_type __s, ios_base& __iob, char_type = __fl, 1323 long double __v) const 1324 { -> 1325 return do_put(__s, __iob, __fl, __v); 1326 } 1327=09 1328 _LIBCPP_INLINE_VISIBILITY (lldb) up frame #12: 0x000000080170610d libc++.so.1`std::__1::basic_ostream >::operator<<(this=3D0x0000000000db2040, = __n=3D0.000006883) at ostream:666:21 663 { 664 typedef num_put > _Fp; 665 const _Fp& __f =3D use_facet<_Fp>(this->getloc()); -> 666 if (__f.put(*this, *this, this->fill(), = __n).failed()) 667 this->setstate(ios_base::badbit | = ios_base::failbit); 668 } 669 #ifndef _LIBCPP_NO_EXCEPTIONS (lldb) up frame #13: 0x0000000000451ccb = acpphint_kernelsurveyors_main-ThreadRipper1950X-131072MiB-threads_32-LP64-= FreeBSD_main_n247756_348c41d1815d_64bit-clang++_13_O3lto-libc++-xSAN`void = report_survey(clock_info=3D) at = acpphint_kernelsurveyors_main.cpp:118:17 115 << = ks_serial_result.krr.kernel_result.ixes_errs_used_each 116 << "\n" 117 << "krr.total_sec_for_laps_for_median: " -> 118 << = ks_serial_result.krr.total_sec_for_laps_for_median.count() 119 << "\n" 120 << "krr.tscout(): " 121 << ks_serial_result.tscout().count() << "\n" So simply using << style output resulted in the oddity. Turns out that be (which ends up as be=3D-81 according to frame 4's = details, if accurate) is calculated in __ldtoa via: 48 char * 49 __ldtoa(long double *ld, int mode, int ndigits, int *decpt, int = *sign, 50 char **rve) 51 { . . . 65 union IEEEl2bits u; . . . 69 u.e =3D *ld; . . . 79 be =3D u.bits.exp - (LDBL_MAX_EXP - 1) - (LDBL_MANT_DIG = - 1); . . . 106 ret =3D gdtoa(&fpi, be, vbits, &kind, mode, ndigits, = decpt, rve); . . . gdtoa then does (various line numbers & some white space omitted): . . . int bbits, . . . . . . b =3D bitstob(bits, nbits =3D fpi->nbits, &bbits); be0 =3D be; if ( (i =3D trailz(b)) !=3D0) { rshift(b, i); be +=3D i; bbits -=3D i; } . . . -> 254 word0(&d) +=3D (be + bbits - 1) << Exp_shift; So, by the UBSAN report: be + bbits - 1 =3D=3D -18 If be=3D=3D-81, then bbits=3D=3D64 at the time & place. =3D=3D=3D Mark Millard marklmi at yahoo.com