anisart |
|
Темы:
1
Сообщения:
14
Участник с: 29 мая 2015
|
Ну в выводе strace зато это есть, хотя это наверно неважно Ну и не поверю я, что gdb не использует glibc. Вот например вывод valgrind, раз gdb не работает
|
vasek |
|
Темы:
47
Сообщения:
11908
Участник с: 17 февраля 2013
|
anisartЭто точно не ошибки anisartкоторый еще раз показывает проблему с ld-2.21.so - точнее Access not within mapped region at address 0x8 и что то советовать проблематично, не зная что ты делал и где копался.
Ошибки не исчезают с опытом - они просто умнеют
|
anisart |
|
Темы:
1
Сообщения:
14
Участник с: 29 мая 2015
|
Так я и не говорю, что проблема в gdb, chromium или еще каких прогах, которые юзают glibc. Ясен пень, что тут либо косячит ld-2.21.so, либо память (хотя рядом другая инсталяция арча работает нормально и на сегфолты не жалуется). Вот ради интереса, кто-нибудь с 64 бит напишите вывод ls -la /usr/lib/ld-* |
anisart |
|
Темы:
1
Сообщения:
14
Участник с: 29 мая 2015
|
Госы сдал, нашлось время для проверки памяти. Память тут ни при чем. Также пробовал вытаскивать поочередно планки, ничего не меняется. Файлы кстати правильного размера. Просто в той системе, которая нормально работает на этом ноуте, была версия 2.21-3, обновил до 2.21-4, продолжает работать. Ничего не понимаю. |
lnroman |
|
Темы:
4
Сообщения:
88
Участник с: 15 мая 2015
|
anisart
Ты пробывал со старого ядра загрузиться? |
lnroman |
|
Темы:
4
Сообщения:
88
Участник с: 15 мая 2015
|
udp
Появилась такая мысль, что проблема не в ld (точнее не в его целостности), а в том какие библиотеки он пытаеться подцепить. |
anisart |
|
Темы:
1
Сообщения:
14
Участник с: 29 мая 2015
|
Пробовал комментировать пути в /etc/ld.so.conf.d/*.conf - все так же грузится и сегфолтится. Со старого ядра загрузиться не могу, в этой системе более старого не было, заново например linux-lts поставить не могу - в процессе установки сегфолтится (наверняка какой-нибудь awk используется, а он сейчас падает). Если из соседней системы поставить другое ядро и грузить первую систему с него, то получаем "failed to mount /boot". Нельзя просто так взять и подсунуть другое ядро системе :) |
lnroman |
|
Темы:
4
Сообщения:
88
Участник с: 15 мая 2015
|
anisart Ну в полне естевственно как бы фс таб той системы у тебя пакуется в образ ядра. |
vasek |
|
Темы:
47
Сообщения:
11908
Участник с: 17 февраля 2013
|
anisartИспользует, но своеобразно если вопрос касается ld-2.21.so Попробую описать (как я это понимаю) использование ld-linux.so.2 и ld-2.21.so (the helper program for shared library executables) За ошибки и неточности прошу сильно не пинать, а лучшне внести исправления и пояснения — кому то может пригодится. $ file /usr/lib/ld-linux.so.2 /usr/lib/ld-linux.so.2: symbolic link to ld-2.21.so $ file /usr/lib/ld-2.21.so /usr/lib/ld-2.21.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=a02017a8045690095a1c629885614d1b379fba9d, not stripped и хотя ld-2.21.so относится к категории общих библиотек, на самом деле является исполняемым файлом и отвечает за динамическую загрузку, точнее, считывает информацию из заголовка исполняемого файла и на ее основании определяет, какие библиотеки требуются данному приложению и должны быть загружены. Точнее, список динамических библиотек приведен в исполняемом файле, например, возьмем gdb $ readelf -d /usr/bin/gdb Dynamic section at offset 0x5a2ec4 contains 34 entries: Тег Тип Имя/Знач 0x00000001 (NEEDED) Совм. исп. библиотека: [libreadline.so.6] 0x00000001 (NEEDED) Совм. исп. библиотека: [libdl.so.2] 0x00000001 (NEEDED) Совм. исп. библиотека: [libncursesw.so.5] 0x00000001 (NEEDED) Совм. исп. библиотека: [libz.so.1] 0x00000001 (NEEDED) Совм. исп. библиотека: [libm.so.6] 0x00000001 (NEEDED) Совм. исп. библиотека: [libguile-2.0.so.22] 0x00000001 (NEEDED) Совм. исп. библиотека: [libpthread.so.0] 0x00000001 (NEEDED) Совм. исп. библиотека: [libpython2.7.so.1.0] 0x00000001 (NEEDED) Совм. исп. библиотека: [libexpat.so.1] 0x00000001 (NEEDED) Совм. исп. библиотека: [liblzma.so.5] 0x00000001 (NEEDED) Совм. исп. библиотека: [libc.so.6] Приведенные библиотеки считываются, загружаются и попадают в память (по выделенным адресам), откуда они и считываются при запросе .........вот эти то библиотеки и показывает команда $ ldd /usr/bin/gdb. Дальше возможны, грубо говоря, три типа основных ошибок 1. Ошибка работы ld-2.21.so при считывании информации из исполняемого файла 2. Информация считалась, но какие то библиотеки не могут загрузиться (или их нет вообще или не находятся в пути поиска или битая библиотека) 3. Ошибки адресации памяти Решение проблем 1-ого и 3-его типа ошибок намного сложнее 2-ого (здесь обычно пишется, что нет файла......ит.п.)
Ошибки не исчезают с опытом - они просто умнеют
|