reassign 1021062 libreadline8
found 1021062 libreadline8/8.2-1
thanks

On Sun, Oct 2, 2022, at 1:56 AM, Aurelien Jarno wrote:
> control: reassign -1 bash
> control: found -1 bash/5.2-1
>
> Hi,
>
> On 2022-10-01 21:01, Kan-Ru Chen wrote:
>> Package: libc6
>> Version: 2.35-1
>> Severity: grave
>> Justification: renders package unusable
>> X-Debbugs-Cc: kos...@debian.org
>> 
>> Dear maintainer,
>> 
>> After upgrading to libc6 2.35-1 (or 2.36-1 in experimental), nonexistent 
>> locale setting
>> starts to crash the system.
>> 
>> This is dangerous because a remote system might not always have the same 
>> locale installed.
>> An auto update will soft-brick the system unless the sysadmin knows to set 
>> their LC_ALL=POSIX
>> before attempting to ssh.
>> 
>> Steps to reproduce:
>> 
>> >From a clean installed Debian sid, upgrade to libc6 2.35-1.
>> Only install C locale and en_US.UTF-8.
>> 
>> $ LC_ALL=ja_JP.UTF-8 bash
>> bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
>> Segmentation fault (core dumped)
>> 
>> $ LC_ALL=ja_JP.UTF-8 gdb bash
>> 
>> Fatal signal: Segmentation fault
>> ----- Backtrace -----
>> 0x55ed3e1e8dcf ???
>> 0x55ed3e2df312 ???
>> 0x55ed3e2df488 ???
>> 0x7f0b4a39ba9f ???
>> 0x7f0b4b412204 _rl_init_locale
>> 0x7f0b4b4122f1 _rl_init_eightbit
>> 0x7f0b4b3f10f2 rl_initialize
>> ... snip ...
>
> FYI, this is the full backtrace with the debug packages installed:
>
> #0  0x00007f8079d0ccc7 in __GI_kill () at 
> ../sysdeps/unix/syscall-template.S:120
> #1  0x0000559be26519c9 in termsig_handler (sig=11) at .././sig.c:625
> #2  0x0000559be2651c21 in termsig_handler (sig=<optimized out>) at 
> .././sig.c:492
> #3  termsig_sighandler (sig=<optimized out>) at .././sig.c:547
> #4  <signal handler called>
> #5  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74
> #6  0x0000559be26b8682 in _rl_init_locale () at 
> ../../.././lib/readline/nls.c:150
> #7  0x0000559be26b8772 in _rl_init_eightbit () at 
> ../../.././lib/readline/nls.c:227
> #8  0x0000559be269766e in readline_initialize_everything () at 
> ../../.././lib/readline/readline.c:1292
> #9  rl_initialize () at ../../.././lib/readline/readline.c:1183
> #10 0x0000559be2662b05 in initialize_readline () at .././bashline.c:522
> #11 0x0000559be26040a5 in yy_readline_get () at 
> /usr/local/src/chet/src/bash/src/parse.y:1514
> #12 0x0000559be2606aa1 in yy_getc () at 
> /usr/local/src/chet/src/bash/src/parse.y:1462
> #13 shell_getc (remove_quoted_newline=remove_quoted_newline@entry=1) at 
> /usr/local/src/chet/src/bash/src/parse.y:2393
> #14 0x0000559be2608eeb in read_token (command=0) at 
> /usr/local/src/chet/src/bash/src/parse.y:3400
> #15 0x0000559be260d05b in yylex () at 
> /usr/local/src/chet/src/bash/src/parse.y:2890
> #16 yyparse () at ./build-bash/y.tab.c:1854
> #17 0x0000559be2603586 in parse_command () at .././eval.c:348
> #18 0x0000559be2603714 in read_command () at .././eval.c:392
> #19 0x0000559be26038c6 in reader_loop () at .././eval.c:139
> #20 0x0000559be26023b5 in main (argc=1, argv=0x7ffe3da22078, 
> env=0x7ffe3da22088) at .././shell.c:833
>
> So the problem is that _rl_init_locale (from bash) calls strlen(NULL).
>
>> Downgrade to 2.34-8 seems also don't fix the issue, probably some locale
>> state was invalidated when upgrading.
>
> This is because you upgraded other packages than glibc (here bash), and the 
> bug
> is not in glibc. Downgrading bash fixes the issue. Reassigning the bug.

Thanks!

That explains why not all programs crash like this. The common library they 
used is
libreadline and I confirmed downgrade libreadline8 to 8.2~rc2-2 fixed the issue.
Reassigning to libreadline8.

-- 
Kan-Ru Chen
Debian Developer

Reply via email to