Date: Mon, 22 Mar 2021 14:42:22 -0400 From: Shawn Webb <shawn.webb@hardenedbsd.org> To: Dimitry Andric <dim@FreeBSD.org> Cc: freebsd-ports@freebsd.org Subject: Re: TCL and Unicode Message-ID: <20210322184222.xhcomcjej32hmbi6@mutt-hbsd> In-Reply-To: <829C6E3C-12B3-44FC-8B18-D3F0ACA87B57@FreeBSD.org> References: <20210322134003.hhdmq6ljxun4tsyn@mutt-hbsd> <829C6E3C-12B3-44FC-8B18-D3F0ACA87B57@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--sgo4zfijb5r2yg5g Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Mar 22, 2021 at 06:32:29PM +0100, Dimitry Andric wrote: > On 22 Mar 2021, at 14:40, Shawn Webb <shawn.webb@hardenedbsd.org> wrote: > >=20 > > I'm tracking down a regression in ports regarding TCL and unicode. The > > primary victim of the problem is databases/sqlite3. Note that I use > > freebsd-ports on github as my upstream, so I'll be using git commit > > hashes from that repo. > >=20 > > The sqlite3 build failure can be seen at [1]. > >=20 > > If I revert commit 787aad81fc79d441fb0c9a750e6e33b6c0ea7ac6, sqlite3 > > builds fine. I noticed a few key changes from that commit: > >=20 > > The build of sqlite3 depends on TCL: instead of using the distfile > > that has the autoconf artifacts pre-generated, the distfile without > > the autoconf artifacts is used (changing from > > sqlite-autoconf-3340100.tar.gz to sqlite-src-3340100.zip). This > > means that the TCL-based autoconf artifacts must be generated > > locally. At least, partially. It seems that the only part of the > > build that depends on TCL is the sqlite3_analyzer. > >=20 > > Admittedly, this change is somewhat confusing to me. I'm having > > somewhat of a hard time knowing whether it's TCL or sqlite3 itself > > as the main culprit. > >=20 > > Any guidance is appreciated. > >=20 > > [1]: http://ci-08.md.hardenedbsd.org/data/hardenedbsd-current_amd64-loc= al/2021-03-21_13h53m43s/logs/errors/sqlite3-3.34.1,1.log >=20 > Hi Shawn, >=20 > It builds fine for me locally on 14.0-CURRENT (as of ~2 days ago), and > indeed the sqlite3.c file is now dynamically generated by tcl. >=20 > In your CI failure case, it looks like something is inserting blobs of > zero bytes into the resulting file, though? So either the file system > is going bad, or tcl is outputting nonsense, for some reason. At least, > I think you'll have to do some investigations in that direction... Looks like compiling lang/tcl86 with the following CFLAGS causes tcl to output invalid unicode for some reason: -ftrivial-auto-var-init=3Dzero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang Thanks for the hint! --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --sgo4zfijb5r2yg5g Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmBY5QsACgkQ/y5nonf4 4fqAew//Yln9E1cp7j5JRCZKFi3oAjCV6uEsFaqv38XpwGPHC34B/pe5TwfC9eg9 pqR1ojTGzoDRpwueBcT6ZTrWPwx6hZbA8EtUMhQHHSSoUJPfTzAAfyqc2dpWzeb1 l/l8TD72x+Ae3O4mfW6iyWSXGasVi1E45XOdRiarPiugeO6GPTc53su/b9Uysm18 Z4wVUCI87gilN93hjBn2+41+bZAVUw4nOlcP6nxaug6Rd+8KQlTkVYgUdQSsFgSj ldbkaSJVUCE05q9LdBdWxBbI9lJsOrtbxYGFlVuq9UfjvpPJH8mVA47DA+vD6gNI rUEOtRlwZzoG3RofYLUqkdS82BiuJa2g1Du150uxg+CnKoj0/0lKDdIYv+aKdR1R ssfM3nCOeoKPcJKeSIP59F7xR5DUvduoEh8MvaUiQmI/+601aP6BUgPriynJmtHr 5auJgXF0iYW0x5w6N0m6Zr2kLLED2e/KhtsRBK3MiHkMIlvvT5h/jwTd2/5DLalp +2uZTHmt+Njh4XUpqsGgoXEePsvvpcMd6PdhTcXD7BzsAM7r+fR/c9U26Re3+MYP 8iEL3cHgpbSZ3jQ2aUSBIKpb4FLVTG9qru4kRr0b9BViTxpbvlLb6A2FJ0vFOb0b XrbU2e5HbImvLGceUw5aLe8Jaiaum2m7k/a/FVrldUWyj2Vu8O0= =PmJU -----END PGP SIGNATURE----- --sgo4zfijb5r2yg5g--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210322184222.xhcomcjej32hmbi6>