Bug 31089

Summary: apt-get: ошибка сегментирования (segfault)
Product: Sisyphus Reporter: Dmitry <dmitry>
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: NEW --- QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: asy, boyarsh, evg, glebfm, imz, lav, ldv, mike, placeholder, rider
Version: unstable   
Hardware: x86   
OS: Linux   
Attachments:
Description Flags
лог strace none

Description Dmitry 2015-06-20 10:37:45 MSK
Добрый день,

Падает apt-get при любой команде.

[root@comp-atom-cpu-28f075 rpm]# apt-get update
Получено: 1 http://ftp.altlinux.org i586 release [915B]
Получено: 2 http://ftp.altlinux.org noarch release [709B]
Получено 1624B за 0s (4960B/s).
Найдено http://ftp.altlinux.org i586/classic pkglist
Найдено http://ftp.altlinux.org i586/classic release
Найдено http://ftp.altlinux.org noarch/classic pkglist
Найдено http://ftp.altlinux.org noarch/classic release
Ошибка сегментирования... 0%

apt-get check
Ошибка сегментирования... 0%

dmesg: 

[  686.878627] apt-get[1566]: segfault at 0 ip b73f5ec1 sp bfe088fc error 4 in libc-2.17.so[b7378000+172000]
[  908.099330] apt-cache[1624]: segfault at 0 ip b7429ec1 sp bfa3604c error 4 in libc-2.17.so[b73ac000+172000]
[  913.584473] apt-cache[1628]: segfault at 0 ip b73ceec1 sp bf8d09cc error 4 in libc-2.17.so[b7351000+172000]
[ 1059.111306] apt-get[1699]: segfault at 0 ip b73b5ec1 sp bfa419bc error 4 in libc-2.17.so[b7338000+172000]
[ 1062.072008] apt-get[1708]: segfault at 0 ip b73d9ec1 sp bfc5195c error 4 in libc-2.17.so[b735c000+172000]
[ 1249.512155] apt-cache[1729]: segfault at 0 ip b73ffec1 sp bfa7e88c error 4 in libc-2.17.so[b7382000+172000]
[ 1308.858168] apt-get[1734]: segfault at 0 ip b73d1ec1 sp bff7af1c error 4 in libc-2.17.so[b7354000+172000]
[ 1374.928449] apt-get[1754]: segfault at 0 ip b738fec1 sp bffba83c error 4 in libc-2.17.so[b7312000+172000]
[ 1395.765317] apt-get[1788]: segfault at 0 ip b73a9ec1 sp bfc446cc error 4 in libc-2.17.so[b732c000+172000]
[ 1432.361797] apt-cache[1805]: segfault at 0 ip b73e9ec1 sp bfe1d75c error 4 in libc-2.17.so[b736c000+172000]
[ 1434.675686] apt-cache[1806]: segfault at 0 ip b73eaec1 sp bfb69dfc error 4 in libc-2.17.so[b736d000+172000]
[ 1593.924308] apt-get[1860]: segfault at 0 ip b73b8ec1 sp bfcc966c error 4 in libc-2.17.so[b733b000+172000]
[ 2384.990622] apt-get[1931]: segfault at 0 ip b73b7ec1 sp bf8ffd0c error 4 in libc-2.17.so[b733a000+172000]

strace apt-get check прилагается.
Comment 1 Dmitry 2015-06-20 10:40:19 MSK
Created attachment 6305 [details]
лог strace

лог strace apt-get check
Comment 2 Michael Shigorin 2015-06-20 10:59:53 MSK
Какой именно образ и падает ли ещё что-либо с сегфолтом?
Comment 3 Michael Shigorin 2015-06-20 11:00:16 MSK
PS: и на чём запускаете -- железо, виртуалка?
Comment 4 Dmitry 2015-06-20 11:06:29 MSK
Больше ничего не падает, ноутбук acer aspire one
Comment 5 Dmitry 2015-06-20 11:06:59 MSK
По всем запускам strace (apt-get check, apt-get update) всегда в одном и том же месте падение.
Comment 6 Dmitry 2015-06-20 11:07:35 MSK
Появилось после обновления, пару дней назад, но там была только одна библиотека, вроде и то не системная.
Comment 7 Dmitry 2015-06-20 11:08:37 MSK
Образ ставил regular, месяца два назад и на нем работаю.
Comment 8 Gleb F-Malinovskiy 2015-06-20 14:43:14 MSK
apt-config dump
ещё стоит приложить.
Comment 9 Gleb F-Malinovskiy 2015-06-20 14:44:47 MSK
И 
$ rpm -q --qf "%{INSTALLTIME}\t%{NAME}\n" -a | sort -n | tail -20

если говорите, что с обновлением произошло.
Comment 10 Dmitry 2015-06-20 15:31:03 MSK
apt-config dump
APT "";
APT::Architecture "i686";
APT::DistroVersion "";
Dir "/";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::prefetch "prefetch";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Etc::preferencesparts "preferences.d";
Dir::Etc::pkgpriorities "pkgpriorities";
Dir::Etc::translatelist "translate.list";
Dir::Etc::translateparts "translate.list.d";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::rpm "/bin/rpm";
Dir::Bin::scripts "/usr/share/apt/scripts";
Dir::Locale "/usr/share/locale";
Acquire "";
Acquire::ComprExtension ".bz2";
Acquire::CDROM "";
Acquire::CDROM::Copy "true";
Acquire::CDROM::mount "/media/ALTLinux";
Acquire::CDROM::Copy-All "true";
Acquire::DistroID "ALT Linux";
Scripts "";
Scripts::AptCache "";
Scripts::AptCache::Command "";
Scripts::AptCache::Command:: "list-extras.lua";
Scripts::AptCache::Command:: "list-nodeps.lua";
Scripts::AptCache::Command:: "list-unreleased.lua";
Scripts::AptCache::Help "";
Scripts::AptCache::Help::Command "";
Scripts::AptCache::Help::Command:: "list-extras.lua";
Scripts::AptCache::Help::Command:: "list-nodeps.lua";
Scripts::AptCache::Help::Command:: "list-unreleased.lua";
Synaptic "";
Synaptic::mark-unsupported "y";
Synaptic::supported-label "Server Desktop updates 4.0 4.1 5.0 p5 5.1 sisyphus";
Synaptic::supported-components "base castle classic contrib junior kernel main master non-free updates";
Synaptic::supported-text "Package is supported";
RPM "";
RPM::Allow-Duplicated "";
RPM::Allow-Duplicated:: "^(NVIDIA_)?(kernel|alsa)[0-9]*(-adv|-linus)?($|-up|-smp|-secure|-custom|-enterprise|-BOOT|-tape|-aureal)";
RPM::Allow-Duplicated:: "^kernel-(image|modules)-.*";
RPM::Hold "";
RPM::Hold:: "^(kernel|alsa)[0-9]+-source";
Comment 11 Dmitry 2015-06-20 15:31:42 MSK
rpm -q --qf "%{INSTALLTIME}\t%{NAME}\n" -a | sort -n | tail -20
1434446333	libgudev
1434446551	libcryptsetup
1434446551	libgcrypt20
1434446552	systemd-utils
1434446552	udev-rules
1434446553	journalctl
1434446554	udev-hwdb
1434446555	udev
1434446558	pam_systemd
1434446559	systemd-services
1434446561	systemd
1434446565	cryptsetup
1434446566	systemd-analyze
1434446567	systemd-sysvinit
1434446567	udev-extras
1434446568	libgcrypt11
1434446568	udev-rule-generator-net
1434446569	libsystemd
1434631375	libtoxcore0
1434631377	libssh
Comment 12 Gleb F-Malinovskiy 2015-06-20 16:03:45 MSK
Ничего подозрительного не видно.
Вообще, нужен backtrace, то есть придется ставить gdb и apt-debuginfo.

Я подозреваю, что удаление /var/cache/apt/*pkgcache.bin проблему у вас исправит. Если нет, продолжим.
Comment 13 Dmitry 2015-06-20 16:24:00 MSK
(В ответ на комментарий №12)
> Ничего подозрительного не видно.
> Вообще, нужен backtrace, то есть придется ставить gdb и apt-debuginfo.
> 
> Я подозреваю, что удаление /var/cache/apt/*pkgcache.bin проблему у вас
> исправит. Если нет, продолжим.

Точно, помогло, спасибо.

Удалил pkgcache.bin и srcpkgcache.bin
Comment 14 Gleb F-Malinovskiy 2015-06-20 17:02:40 MSK
Осталось понять, отчего это могло произойти.
Comment 15 Michael Shigorin 2015-06-24 12:22:16 MSK
Пожалуй, для воспроизводимости стоит советовать не rm(1), а mv(1).
А о кэшах уже и забыл => добавил к http://www.altlinux.org/Apt/TroubleShooting
Comment 16 Anton Farygin 2015-06-24 12:25:17 MSK
кеши бывают бьются если какие-то проблемы с железом или питанием этого железа.
Comment 17 Vitaly Lipatov 2016-02-18 01:15:00 MSK
(В ответ на комментарий №12)
> Ничего подозрительного не видно.
> Вообще, нужен backtrace, то есть придется ставить gdb и apt-debuginfo.
> 
> Я подозреваю, что удаление /var/cache/apt/*pkgcache.bin проблему у вас
> исправит. Если нет, продолжим.
Мне не помогло. Но у меня падало не при любой команде, а при подтверждении установки после apt-get install apt

Поставил вручную gdb и получил
на
(gdb) run install apt

такое:
Program received signal SIGSEGV, Segmentation fault.
0x0856f780 in ?? ()
(gdb) bt
#0  0x0856f780 in ?? ()
Comment 18 Vitaly Lipatov 2016-02-18 01:42:24 MSK
По strace:
fstat64(12</var/ftp/pub/ALTLinux/p7/branch/i586/RPMS.classic/libapt-0.5.15lorg2-alt42.M70P.2.i586.rpm>, {st_mode=S_IFREG|0664, st_size=296694, ...}) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x99ccbc0} ---
+++ killed by SIGSEGV +++

# stat /var/ftp/pub/ALTLinux/p7/branch/i586/RPMS.classic/libapt-0.5.15lorg2-alt42.M70P.2.i586.rpm
  File: ‘/var/ftp/pub/ALTLinux/p7/branch/i586/RPMS.classic/libapt-0.5.15lorg2-alt42.M70P.2.i586.rpm’
  Size: 296694    	Blocks: 580        IO Block: 131072 regular file
Device: 1ah/26d	Inode: 10641868392527999551  Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  502/     lav)   Gid: (   10/   wheel)
Access: 2016-02-18 01:01:47.985271645 +0300
Modify: 2015-04-28 16:56:15.000000000 +0300
Change: 2015-06-09 01:23:14.933317665 +0300

# rpm -q apt
apt-0.5.15lorg2-alt42

обновление до
apt-0.5.15lorg2-alt42.M70P.2.i586.rpm
не помогло.

Видимо, проблема в glibc (на фоне длинной inode).

Обновил до
glibc-core-2.17-alt8.M70P.1.i586.rpm
ничего не поменялось.

Обновил rpm до
rpm-4.0.4-alt100.76.M70P.1.i586.rpm
 rebuilding database /var/lib/rpm started
ничего не поменялось.

Помогла установка glibc с патчами:
* Mon Jun 15 2015 Vitaly Lipatov <lav@altlinux.ru> 7:2.17-alt8.eter1
- squashing inode for files and directories (eterbug #9784)
- filename length bounds increase to 1024 (eterbug #9266)
Comment 19 Gleb F-Malinovskiy 2016-02-18 13:12:44 MSK
(In reply to comment #17)
> Поставил вручную gdb и получил
> на
> (gdb) run install apt
> 
> такое:
> Program received signal SIGSEGV, Segmentation fault.
> 0x0856f780 in ?? ()
> (gdb) bt
> #0  0x0856f780 in ?? ()

Без debuginfo как-то кажется совсем неинтиресно, да? :)

(In reply to comment #18)
> # rpm -q apt
> apt-0.5.15lorg2-alt42
> обновление до
> apt-0.5.15lorg2-alt42.M70P.2.i586.rpm
> не помогло.

А бага разве не на Сизиф?
Comment 20 Vitaly Lipatov 2016-02-18 18:23:52 MSK
(В ответ на комментарий №19)
...
> Без debuginfo как-то кажется совсем неинтиресно, да? :)
Неинтересно без апта ставить -debuginfo.

> (In reply to comment #18)
> > # rpm -q apt
> > apt-0.5.15lorg2-alt42
> > обновление до
> > apt-0.5.15lorg2-alt42.M70P.2.i586.rpm
> > не помогло.
> 
> А бага разве не на Сизиф?
Судя по изменениям, пакет в Сизифе мог только прибавить багов :)
Ну я уж не стал делить, да и записал только для того, чтобы найти потом можно было ещё одну причину неожиданных SegFaults.
Comment 21 Sergey Y. Afonin 2018-09-12 12:21:44 MSK
(In reply to comment #15)

> Пожалуй, для воспроизводимости стоит советовать не rm(1), а mv(1).
> А о кэшах уже и забыл => добавил к http://www.altlinux.org/Apt/TroubleShooting

Попались pkgcache.bin и srcpkgcache.bin в p8/i585. Вопрос правда, актуален ли баг в Сизифе. И прицепиьт сюда не получается: архив большой, 25070748b