AIX 6.1: CORE DUMP - GDB «поток применяет все bt full» не возвращает НИЧЕГО? - PullRequest
2 голосов
/ 20 марта 2012

Я получаю следующую обратную трассировку из дампа ядра из приложения C в AIX 6.1. Я использую GDB 6.0.

GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-ibm-aix5.1.0.0"...

warning: core file may not match specified executable file.
Core was generated by `inbound'.
Program terminated with signal 11, Segmentation fault.
#0  0x0900000000b5c0a4 in _event_sleep () from /usr/lib/libpthread.a(shr_xpg5_64.o)
(gdb) backtrace
#0  0x0900000000b5c0a4 in _event_sleep () from /usr/lib/libpthread.a(shr_xpg5_64.o)
#1  0x0900000000b5c9bc in _event_wait () from /usr/lib/libpthread.a(shr_xpg5_64.o)
#2  0x0900000000b6a788 in _cond_wait_local () from /usr/lib/libpthread.a(shr_xpg5_64.o)
#3  0x0900000000b6ad60 in _cond_wait () from /usr/lib/libpthread.a(shr_xpg5_64.o)
#4  0x0900000000b52fc4 in pthread_join () from /usr/lib/libpthread.a(shr_xpg5_64.o)
#5  0x0000000100003d30 in main (argc=2, argv=0xffffffffffffb38) at ./inbound/inbound.c:850
(gdb)

Когда я пытаюсь запустить поток применить все bt full , он просто НИЧЕГО не возвращает.

Мне нужно найти ошибку здесь, поскольку это происходит только в следующем сценарии:

  • Приложение ждет сообщения около 30 часов без дела, затем приходит сообщение, и оно, похоже, не любит "просыпаться".

Мне бы очень хотелось посмотреть, что в моей другой ветке вызывает проблему ....

Любая помощь будет принята с благодарностью

Линтон

1 Ответ

0 голосов
/ 17 июня 2012

Где вы взяли GDB? GDB довольно сложно / малоизвестно для компиляции для AIX. Например, у него есть опция для потоков AIX. Насколько я помню, вы должны явно указать ./configure, чтобы использовать эту опцию.

Также, как указывает alk, убедитесь, что у вас есть правильный исполняемый <=> файл ядра. Убедитесь, что у вас тот же LIBPATH, что и у приложения, когда оно создавало дамп.

fullcore также помогает (что, я полагаю, у вас уже есть).

...