[devel] How to generate core and backtrace files

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Чт Июн 14 22:32:19 MSD 2007


Led пишет:
> В сообщении от Thursday 14 June 2007 19:01:31 Eugene Prokopiev написал(а):
> 
>>Led пишет:
>>
>>>В сообщении от Thursday 14 June 2007 18:11:28 Eugene Prokopiev написал(а):
>>>
>>>>Здравствуйте!
>>>>
>>>>Я прошу прощения за вопросы явно из FAQ, но нашел только
>>>>http://www.freesource.info/wiki/AltLinux/Razrabotchiku/OtladkaIProfajjlin
>>>>g? v=tk1&search=core, а кроме того помню, что с core files у нас по
>>>>умолчанию не так как у всех, потому спрашиваю. У меня стабильно
>>>>воспроизводится падение
>>>>callweaver в определенной ситуации. Апстрим по этому поводу говорит:
>>>>
>>>>If you have a core file please generate a backtrace (“gdb
>>>>/path/to/callweaver core” and type “bt” at the prompt.
>>>>
>>>>Собственно вопрос: как это сделать? callweaver у меня собирается в
>>>>hasher, но на той же машине, что и тестируется. Я сделал hsh-install
>>>>~/hasher glibc-core-debug, в hsh-shell сделал rpm -bb --enable debug
>>>>callweaver.spec. Дальше непонятно. Ну поставлю я собранный пакет. Что
>>>>сказать LD_LIBRARY_PATH? Где включить генерацию core?
>>>
>>>man bash
>>>на предмет ulimit
>>
>>после установки собранного пакета:
>>
>># ulimit -c 10000000000
>># cp -a
>>/data/build/hasher-callweaver/chroot/usr/src/RPM/BUILD/callweaver-1.1.99.20
>>070614/ .
>># cd callweaver-1.1.99.20070614
>># LD_LIBRARY_PATH=/usr/lib/debug:$PWD gdb .libs/callweaver
>>GNU gdb 6.6-alt1 (ALT Linux)
>>Copyright (C) 2006 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 "x86_64-alt-linux"...
>>Using host libthread_db library "/lib64/libthread_db.so.1".
>>(gdb) run -vvvvvcd
>>...
>>Program received signal SIGSEGV, Segmentation fault.
>>[Switching to Thread 1092139328 (LWP 24377)]
>>0x00002afca9067cc4 in strncpy () from /lib64/libc.so.6
>>(gdb) quit
>>The program is running.  Exit anyway? (y or n) y
>>
>>И где теперь сам дамп? В текущем каталоге ничего подозрительного нет.
> 
> 
> А может достаточно -fPIC в CFLAGS добавить, чтобы не сегфолтилось на x86_64? У 
> нас в Сизифе сборка qiv под x86_64 с похожими симптомами лежит. И лечится 
> именно -fPIC.

Как это должно выглядеть в спеке? Глянул в qiv, там make 
CFLAGS="%optflags", а где определена %optflags? Пока запустил на сборку 
c %make CFLAGS='-fPIC', не затрет это какие-нибудь другие опции?

Ну и первоначальный вопрос остается в силе: как core dump получить?

-- 
С уважением, Прокопьев Евгений



Подробная информация о списке рассылки Devel