Skip site navigation (1)Skip section navigation (2)
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>