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 <[email protected]>

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 <[email protected]>

...and applied.
_______________________________________________
Patchwork mailing list
[email protected]
https://lists.ozlabs.org/listinfo/patchwork

Reply via email to