[devel] How to generate core and backtrace files
Led
=?iso-8859-1?q?led_=CE=C1_altlinux=2Eru?=
Пт Июн 15 01:15:23 MSD 2007
2007/6/14, Eugene Prokopiev <prokopiev на stc.donpac.ru>:
> 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?
Ещё раз: в Сизифе qiv под x86_64 - нерабочий. Рабочий (исправленный) -
в Daedalus
> Пока запустил на сборку
> c %make CFLAGS='-fPIC', не затрет это какие-нибудь другие опции?
%add_optflags %optflags_shared
%make_build CFLAGS="%optflags"
>
> Ну и первоначальный вопрос остается в силе: как core dump получить?
--
Led.
Подробная информация о списке рассылки Devel