Summary: | Зависает bash | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> | ||||
Component: | bash | Assignee: | placeholder <placeholder> | ||||
Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P3 | CC: | glebfm, ldv, mike, placeholder, pv | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
Vitaly Lipatov
2016-08-16 02:17:53 MSK
Зависает при логине по ssh. Ctrl-C, Ctrl-Q, Ctrl-/ не срабатывают. С поставленным bash-debuginfo: gdb -p 3333 Program received signal SIGSEGV, Segmentation fault. 0x00007ff6025f8bf9 in gconv () from /usr/lib64/gconv/KOI8-R.so (gdb) bt #0 0x00007ff6025f8bf9 in gconv () from /usr/lib64/gconv/KOI8-R.so #1 0x00007ff6025f8750 in gconv_init () from /usr/lib64/gconv/KOI8-R.so #2 0x00007fff613fee78 in ?? () #3 0x00007ff60349a101 in ?? () #4 0x00007ff60349a0f3 in ?? () #5 0x00007fff613fee88 in ?? () #6 0x000000000094ddb0 in ?? () #7 0x00007ff602c695d7 in __gconv (cd=0xff0, inbuf=0x7ff5fc000020, inbuf@entry=0x7fff613fee78, inbufend=0x0, outbuf=outbuf@entry=0x7fff613fee80, outbufend=<optimized out>, irreversible=0x63, irreversible@entry=0x7fff613fee88) at gconv.c:79 #8 0x00007ff602c75901 in _nl_find_msg (domain_file=0x94cfe0, domainbinding=domainbinding@entry=0x8d9da0, msgid=msgid@entry=0x475721 "%s: not found", convert=convert@entry=1, lengthp=lengthp@entry=0x7fff613fefb8) at dcigettext.c:1286 #9 0x00007ff602c76111 in __dcigettext (domainname=0x8da140 "bash", domainname@entry=0x0, msgid1=msgid1@entry=0x475721 "%s: not found", msgid2=msgid2@entry=0x0, plural=plural@entry=0, n=n@entry=0, category=category@entry=5) at dcigettext.c:742 #10 0x00007ff602c74bff in __GI___dcgettext (domainname=domainname@entry=0x0, msgid=msgid@entry=0x475721 "%s: not found", category=category@entry=5) at dcgettext.c:47 #11 0x0000000000457365 in sh_notfound (s=0x7ff5fc0044f0 "colordiff") at ../../builtins/common.c:172 #12 0x000000000046178b in type_builtin (list=0x94ab20) at ../../../builtins/type.def:182 #13 0x0000000000424b08 in execute_builtin (builtin=builtin@entry=0x461560 <type_builtin>, flags=flags@entry=8, subshell=subshell@entry=0, words=0x94ac20) at ../execute_cmd.c:3173 #14 0x0000000000427048 in execute_builtin_or_function (flags=8, fds_to_close=0x7ff5fc001e60, redirects=<optimized out>, var=0x0, builtin=0x461560 <type_builtin>, words=0x94ac20) at ../execute_cmd.c:3559 #15 execute_simple_command (fds_to_close=0x7ff5fc001e60, async=0, pipe_out=-1, pipe_in=-1, simple_command=<optimized out>) at ../execute_cmd.c:3039 #16 execute_command_internal (command=0x7ff5fc0019e0, asynchronous=0, pipe_in=<optimized out>, pipe_out=-1, fds_to_close=0x7ff5fc001e60) at ../execute_cmd.c:688 #17 0x0000000000427fae in execute_command (command=0x7ff5fc0019e0) at ../execute_cmd.c:352 #18 0x0000000000426b28 in execute_connection (fds_to_close=0x7ff5fc001b80, pipe_out=-1, pipe_in=-1, asynchronous=0, command=0x7ff5fc001a40) at ../execute_cmd.c:1601 #19 execute_command_internal (command=0x7ff5fc001a40, asynchronous=0, pipe_in=-1, pipe_out=-1, fds_to_close=0x7ff5fc001b80) at ../execute_cmd.c:840 #20 0x0000000000425aad in execute_connection (fds_to_close=0x7ff5fc001b80, pipe_out=-1, pipe_in=-1, asynchronous=0, command=0x7ff5fc002d50) at ../execute_cmd.c:1570 #21 execute_command_internal (command=0x7ff5fc002d50, asynchronous=0, pipe_in=-1, pipe_out=-1, fds_to_close=0x7ff5fc001b80) at ../execute_cmd.c:840 #22 0x0000000000425cf4 in execute_command_internal (command=0x7ff5fc002a60, asynchronous=0, pipe_in=-1, pipe_out=-1, fds_to_close=0x7ff5fc001b80) at ../execute_cmd.c:832 #23 0x0000000000428b09 in execute_function (var=var@entry=0x90f010, flags=flags@entry=8, fds_to_close=fds_to_close@entry=0x7ff5fc001b80, async=async@entry=0, subshell=subshell@entry=0, words=0x94ab60) at ../execute_cmd.c:3351 Created attachment 6794 [details]
Полный бэктрейс
Для тех, кто удивляется, откуда /usr/lib64/gconv/KOI8-R.so: в этой кодировке сохранён /usr/share/locale/ru/LC_MESSAGES/bash.mo > SIGSEGV
Это точно не память?
(In reply to comment #0) > strace выдаёт для зависшего процесса: > --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- > rt_sigreturn({mask=[]}) = 140655379824640 Прямо так на сегфолте по нулевому адресу и зависает? Какие расширения для bash установлены? (В ответ на комментарий №5) > (In reply to comment #0) > > strace выдаёт для зависшего процесса: > > --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- > > rt_sigreturn({mask=[]}) = 140655379824640 > > Прямо так на сегфолте по нулевому адресу и зависает? Забыл написать, что это сообщение повторяется бесконечно и непрерывно. В повторных ситуациях backtrace такой же. Но strace такой: --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x6e6962} --- sigreturn({mask=[]}) = 28 > Какие расширения для bash установлены? Даже не знал, что у него есть расширения: bash-builtin-lockf-0.3.1-alt1.qa1 bash-debuginfo-3.2.57-alt1 bash-3.2.57-alt1 bash-completion-1.99-alt6 У меня чётко воспроизводится при запуске bash (локально или при подключении по ssh, как в логах) во время обновления glibc: Aug 16 20:12:26 pbf apt-get: glibc-preinstall-6:2.23-alt3 1465475997 installed Aug 16 20:12:30 pbf apt-get: glibc-preinstall-6:2.17-alt8 1389812388 removed Aug 16 20:12:35 pbf apt-get: glibc-core-6:2.23-alt3 1465475997 installed Aug 16 20:12:35 pbf apt-get: glibc-pthread-6:2.23-alt3 1465475997 installed Aug 16 20:12:35 pbf apt-get: glibc-pthread-6:2.17-alt8 1389812388 removed Aug 16 20:12:35 pbf apt-get: glibc-nss-6:2.23-alt3 1465475997 installed Aug 16 20:12:35 pbf apt-get: glibc-nss-6:2.17-alt8 1389812388 removed Aug 16 20:12:35 pbf sshd[21747]: Accepted publickey for lav from 192.168.0.55 port 56688 ssh2: DSA SHA256:sCxGzBbAcOQiGuxIhXtey1nfvxSqRKS0K42axyGgN98 Aug 16 20:12:40 pbf sshd[20486]: Received disconnect from 192.168.0.55: 11: disconnected by user Aug 16 20:12:52 pbf sshd[20486]: Disconnected from 192.168.0.55 Aug 16 20:12:53 pbf sshd[21796]: Accepted publickey for lav from 192.168.0.55 port 56700 ssh2: DSA SHA256:sCxGzBbAcOQiGuxIhXtey1nfvxSqRKS0K42axyGgN98 Aug 16 20:12:54 pbf apt-get: glibc-locales-6:2.23-alt3 1465475997 installed Aug 16 20:12:54 pbf apt-get: glibc-locales-6:2.17-alt8 1389812388 removed Aug 16 20:12:54 pbf apt-get: glibc-gconv-modules-6:2.23-alt3 1465475997 installed Aug 16 20:12:54 pbf apt-get: glibc-gconv-modules-6:2.17-alt8 1389812388 removed Aug 16 20:12:54 pbf apt-get: iconv-6:2.23-alt3 1465475997 installed Aug 16 20:12:54 pbf apt-get: iconv-6:2.17-alt8 1389812388 removed Aug 16 20:12:54 pbf apt-get: glibc-timezones-6:2.23-alt3 1465475997 installed Aug 16 20:12:54 pbf apt-get: glibc-timezones-6:2.17-alt8 1389812388 removed Aug 16 20:12:54 pbf apt-get: glibc-utils-6:2.23-alt3 1465475997 installed Aug 16 20:12:54 pbf apt-get: glibc-utils-6:2.17-alt8 1389812388 removed Aug 16 20:12:54 pbf apt-get: glibc-6:2.23-alt3 1465475997 installed Aug 16 20:12:55 pbf apt-get: glibc-6:2.17-alt8 1389812388 removed Aug 16 20:12:55 pbf apt-get: glibc-devel-6:2.23-alt3 1465475997 installed Aug 16 20:12:55 pbf apt-get: glibc-devel-6:2.17-alt8 1389812388 removed Понятно, что новый glibc пытается загрузить старые glibc-gconv-modules и не справляется. Но меня смущает реакция на SIGSEGV при этом. В других случаях проблему видел редко, готов отложить багу до следующего случая, не связанного с обновлением glibc. (In reply to comment #7) > Понятно, что новый glibc пытается загрузить старые glibc-gconv-modules и не > справляется. glibc не подозревает, что glibc-gconv-modules, которые он загружает и исполняет, несовместимые. > Но меня смущает реакция на SIGSEGV при этом. Тем не менее, это вполне закономерное следствие. (В ответ на комментарий №8) ... > > Но меня смущает реакция на SIGSEGV при этом. > > Тем не менее, это вполне закономерное следствие. SIGSEGV закономерен, но зацикливаться на его обработке — совершенно некорректно. Прямой проблемы не обнаружено, воспроизводится перестало. |