On Tue, 1 Oct 2019 09:16:41 -0700 Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > > This almost certainly has to do with the fact that I'm (intentionally) > > > running the Python2 Sphinx build here. Something's not doing unicode that > > > should be. > > Given this would be for v5.5, and python2 is EOL in 2 months[1], I don't > think it's unreasonable to deprecate it. Especially considering there > are already explicit "python3" shebangs in existing code in the sphinx/ > directory. Two months and 30 days, don't exaggerate, man! :) FWIW, the "shebangs" in that directory are no-ops. Those are extensions read into sphinx, not standalone programs; they go into a Python 2 sphinx instance just fine. Which isn't an argument against dropping Python 2, of course. That's really just a matter of when. > > I'm almost sure we got this already. If I'm not mistaken, the solution > > is to add the encoding line after shebang. Looking at > > Documentation/sphinx/maintainers_include.py (patch 2/2), the script > > starts with: > > > > #!/usr/bin/env python > > # SPDX-License-Identifier: GPL-2.0 > > # -*- coding: utf-8; mode: python -*- > > # pylint: disable=R0903, C0330, R0914, R0912, E0401 > > > > But, as I pointed before, the SPDX header at the wrong place is causing the > > crash, as the encoding line should be the second line, not the third one, > > e. g.: > > > > #!/usr/bin/env python > > # -*- coding: utf-8; mode: python -*- > > # SPDX-License-Identifier: GPL-2.0 > > # pylint: disable=R0903, C0330, R0914, R0912, E0401 > > > > I also suspect that this would happen even with python3, depending on > > how LC_ALL, LANG, ... are set on the distro you use. > > Oh that's a delightful bug. :P I haven't been able to reproduce this > failure (maybe all my LANG junk is accidentally correct)? Delightful - and wrong; moving that line around doesn't change anything. The crash comes from deep within sphinx; the more I look at it the more confused I get. Stay tuned... jon