[PATCH] pwclient: Fix silent crash on python 2
Stephen Finucane
stephen at that.guru
Wed Apr 5 20:15:31 AEST 2017
On Tue, 2017-03-28 at 11:26 +0200, Robin Jarry wrote:
> Replacing sys.stdout and sys.stderr can cause obscure crashes when
> trying to write non unicode data. The interpreter is terminated with
> SIGINT without any specific error writen on the console.
>
> rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f964820e8d0},
> {0x559f50, [], SA_RESTORER, 0x7f964820e8d0}, 8) = 0
>
> This happens easily when there is an untrapped exception which should
> lead to printing a traceback on stderr.
>
> To fix this, the only way is to make sure that the PYTHONIOENCODING
> env
> variable is set *before* starting the interpreter as the
> initialization
> is made very early on and the encoding cannot be set or modified
> after.
>
> On python 3, the default IO encoding is already properly set
> according
> to locale.
>
> Fixes: 046419a3bf8f ("pwclient: Fix encoding problems")
> Signed-off-by: Robin Jarry <robin.jarry at 6wind.com>
I've no idea how I could even go about testing this. However, it looks
sane and you've tested it locally so...
Acked-by: Stephen Finucane <stephen at that.guru>
...and applied.
More information about the Patchwork
mailing list