LINUX.ORG.RU

segmentation fault


0

1

OC: Arch i686. После обновления на любую команду в консоли выдаётся сообщение «Ошибка сегментирования». Перезагрузить штатными средствами не удалось, пришлось делать хард резет. После перезагрузки граб отрабатывает нормально, грузит initrd. Но дальше дело не идёт, сразу вылетает приглашение к логину, причём там, где обычно пишется имя компьютера стоит (none). Заологиниться естественно не получается (segfault). Попробовал загрузиться с LiveCD и сделать chroot:

mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot . /bin/bash 
Segmentation fault
Пробовал fsck, говорит всё норм. В kernel.log очень много сообщений, содержащих строку:
segfault at 4b383dfc ip 4b369f59 sp bf94c3c0 in id-2.13.so [4b367000+1c000]
Куда копать?

Update: причина - prelink. Кеда и прочие пакеты не причём. Временное решение: prelink -u.

★★★★★

Последнее исправление: unikum (всего исправлений: 3)

Круто ты обновился. И каких репов хоть?

Я бы попробовал загрузиться с LiveCD и распаковать файлы ядра и glibc вручную в сдохшую систему.

thesis ★★★★★
()
Ответ на: комментарий от thesis

обновил кеды из extra, уже всё настроил. потом пришло ещё обновление kdepim*. тут всё и случилось.

unikum ★★★★★
() автор топика
Ответ на: комментарий от unikum

Только что обновлялся - пока УМВР.

Ну пробуй пакеты из группы base переустанавливать - арчедиск такое позволяет.

thesis ★★★★★
()
Ответ на: комментарий от unikum

Балин, я вот сейчат kdepim* обновляю. Сейчас посмотрим, что они на самом деле из себя представляют (:

anonymous
()
Ответ на: комментарий от unikum

попробуйте развернуть предидущий core/glibc из кэша пакетов

guilder
()
Ответ на: комментарий от overmind88

mirrors.kernel.org

может какой железный сбой... пытаюсь гуглить строку

segfault at 4b383dfc ip 4b369f59 sp bf94c3c0 in id-2.13.so [4b367000+1c000]
пока безуспешно.

попробую переустановить base с LiveCD.

unikum ★★★★★
() автор топика
Ответ на: комментарий от unikum

это почти наверняка битая glibc либо рам(загрузись с livecd чтобы проверить)

ciiccii
()

Было то же самое после обновления glibc и prelink. Сделал prelink -u на всё, пока сижу так.

x3al ★★★★★
()
Ответ на: комментарий от unikum

Обновлялся тоже с этого зеркала, всё нормально. Арч686.

anonymous
()
Ответ на: комментарий от x3al

кстати, возможно дело именно в прелинк, а как сделать prelink -u из под LiveCD? chroot то не работает:(

unikum ★★★★★
() автор топика
Ответ на: комментарий от unikum

>как сделать prelink -u из под LiveCD?
Поставить prelink, сделать cd /смонтированный/арч, сделать prelink -ua *. Хватит чтобы загрузиться.

x3al ★★★★★
()
Ответ на: комментарий от x3al

Ну или чрутнуться после этого и доделать prelink -ua. Без этого у меня не поднимались иксы.

x3al ★★★★★
()

воспроизвёл проблему: виноват prelink.

unikum ★★★★★
() автор топика

загрузись с опцией init=/bin/bash

это будет однопользовательский режим и твари что хочешь

ipwww ★★
()

Кеды требуют обновления, а я боюсь :-(

Chubakur ★★
()
Ответ на: комментарий от unikum

Нет, особо не было желания. Странно, что elfutils чуть позже обновлялись, но проблему это не исправило.

x3al ★★★★★
()
Ответ на: комментарий от x3al

после того как прелинк отрабатывает, система становится не работоспособной. помогает только переустановка glibc из-под LiveCD. проверил два раза. На второй машине проверю чуть позже. Если проявится и там, буду писать баг-репорт. Похоже у прелинка ни логов, ни чего подобного нет...

unikum ★★★★★
() автор топика
Ответ на: комментарий от unikum

У меня 2 раза помог prelink -u из-под LiveCD. Переустановка glibc (не откат на старую) не помогает, prelink на отдельный бинарник тоже даёт сегфолты. x86-64.

x3al ★★★★★
()
Ответ на: комментарий от unikum

Естественно, арч, тестинг (поэтому нарвался на несколько дней раньше). Вывод: от архитектуры не зависит. Если есть желание, можно сравнить пкгбилды последней и предпоследней версий glibc.

x3al ★★★★★
()

ld.

Там точно id-2.13.so, а не ld-2.13.so? Если таки ld, то значит у тебя целостность библиотек нарушена, надо либо всё пересобрать, либо ld правильный положить. Я бы посоветовал revdep-rebuild, на Arch этого не умеет.

Camel ★★★★★
()
Ответ на: ld. от Camel
200400 x@3 ~ $ ldd `which dash`
	linux-vdso.so.1 =>  (0x00007fff941ab000)
	libc.so.6 => /lib/libc.so.6 (0x0000003000400000)
	/lib/ld-linux-x86-64.so.2 (0x0000003000000000)
200420 x@3 ~ $ dash -c exit
200428 x@3 ~ $ sudo prelink `which dash`
200436 x@3 ~ $ dash -c exit
Segmentation fault
200439 x@3 ~ $ ldd `which dash`
	linux-vdso.so.1 =>  (0x00007fffb537c000)
	libc.so.6 => /lib/libc.so.6 (0x0000003000400000)
	/lib/ld-linux-x86-64.so.2 (0x0000003000000000)

ld тут ни при чём.

x3al ★★★★★
()

>После обновления на любую команду в консоли выдаётся сообщение «Ошибка сегментирования».

«это не арч виноват, это руки кривые»

SuikaFromOuterSpace
()
Ответ на: ls -l от Camel

Ну и? После прелинка рушится только бинарник, который прелинкнули.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.