Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Segmentation Fault (core dumped) . Как победить? / 25 сообщений из 27, страница 1 из 2
30.10.2007, 12:02:06
    #34904123
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Зрравствуйте!

При выполнении программы -
<номер_процесса>Segmentation Fault (core dumped).

Встретил упоминание в man cc

ENVIRONMENT
. . .
STACKSIZE The executing program maintains a main memory
stack for the master thread and distinct stacks
for each slave thread.
. . .
Sometimes the compiler may generate a warning mes-
sage that indicates a bigger stack size is needed.
However, it may not be possible to know just how
large to set it, except by trial and error, espe-
cially if private/local arrays are involved. If
the stack size is too small for a thread to run,
the program will abort with a segmentation fault .

менял - ставил 16K , 32K - всё то же.
Видимо, копаю не там.
Что делать?
...
Рейтинг: 0 / 0
30.10.2007, 12:09:42
    #34904145
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Конечно не там. Стек походу не причем. Где-то в программе идет обращение к мертвому указателю. Копай код.
...
Рейтинг: 0 / 0
30.10.2007, 13:10:27
    #34904455
segfault64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
gdb -c core
(gdb)bt
...
Рейтинг: 0 / 0
30.10.2007, 13:14:08
    #34904472
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Вово, бектрейс тоже хорошо поглядеть
...
Рейтинг: 0 / 0
30.10.2007, 13:28:42
    #34904526
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
не смейтесь
что такое backtrace ?
...
Рейтинг: 0 / 0
30.10.2007, 17:03:14
    #34905363
segfault64
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
http://shekel.jct.ac.il/cc-res/online-doc/gdb/gdb_43.html
...
Рейтинг: 0 / 0
01.11.2007, 12:35:07
    #34909939
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
на все приведённые команды (gdb, bt -c core) - один ответ: not found
...
Рейтинг: 0 / 0
01.11.2007, 12:44:42
    #34909982
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
down.ltdна все приведённые команды (gdb, bt -c core) - один ответ: not found


gdb - отладчик такой. Я удивляюсь вообще, кто тебя пустил на *nix разрабатывать, если ты в нем ничего не понимаешь.
...
Рейтинг: 0 / 0
01.11.2007, 13:51:16
    #34910282
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Замечание справедливое, но у нас, собственно, ничего не разрабатывается.
Есть прога на Pro*C на старом сервере(SunOS 5.7, Oracle7.3), которая выбирает данные из таблиц и запихивает в файл. Сервер на ладан дышит, поэтому и переношу. Программе лет 15, тех людей, конечно, уже нет, а прогу надо перенести на новый сервер (SunOS 5.9, Oracle 9.2), где ей предстоит пожить ещё n-ное количество лет.
То, что gdb отладчик, понятно, непонятно, почему не запускается командой, про это я и спрашивал.
Интесен ещё один момент.
Один раз мне удалось получить, несмотря на кучу предупреждений, рабочую программу.
Но второй раз, ничего не меняя, фокус не получился.

А предупреждения были такие

"outlic2007.c", line 760: warning: argument #1 is incompatible with prototype:
prototype: pointer to const char : "/usr/include/iso/string_iso.h", line 70
argument : pointer to unsigned char (E_ARG_INCOMPATIBLE_WITH_ARG)

исх.строка
pwd.len = strlen(pwd.arr);

после изменений
pwd.len = strlen((char *)uid.arr);
предупреждение пропадает

то же самое с strcpy

"outlic2007.c", line 762: warning: argument #1 is incompatible with prototype:
prototype: pointer to char : "/usr/include/iso/string_iso.h", line 66
argument : pointer to unsigned char (E_ARG_INCOMPATIBLE_WITH_ARG)

исх.строка
strcpy(pwd.arr,"GROSSBOLT");

после изменений
strcpy((char *)pwd.arr,"GROSSBOLT");
предупреждение пропадает

Хотя в на SunOs 5.7 всё компилируется без предупреждений.
Правда, там мы компилировали gcc-ом.

У SunStudio более строгий компилятор?
_______________

Ещё предупреждение

"outlic2007.c", line 702: warning: old-style declaration or incorrect type for: main (E_OLD_STYLE_DECL_OR_BAD_TYPE)

main (int argc, char *argv[])

поскольку в программе есть
return 1 и return 0

поставил тип int

int main (int argc, char *argv[])

предупреждение исчезло
__________

остались такие

предупреждение на строку в c-шной программе(после Pro*C)
/* SQLLIB Prototypes */
extern sqlcxt (/*_ void **, unsigned int *,
struct sqlexd *, struct sqlcxp * _*/);

"outlic2007.c", line 117: warning: no explicit type given (E_NO_EXPLICIT_TYPE_GIVEN)

какой тип?

В общем, я в тупике.
Проблема всё та же -

Segmentation Fault (core dumped)
...
Рейтинг: 0 / 0
01.11.2007, 14:22:33
    #34910412
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Отладчик на SUN называется dbx
А компилятор там дай боже
Да и просмотр стека тебе скорее всего не поможет, комнда просмотра стека - where
...
Рейтинг: 0 / 0
01.11.2007, 18:21:01
    #34911270
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Вдогонку вопрос
при компиляции вижу cc отрабатывает дважды.
это нормально

Pro*C/C++: Release 9.2.0.4.0 - Production on Thu Nov 1 14:04:20 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

System default option values taken from: /export/home/oracle/product/9.2/precomp
/admin/pcscfg.cfg

cc -xO3 -Xa -xstrconst -dalign -xF -xildoff -errtags=yes -v -xarch=v9 -xch
ip=ultra3 -W2,-AKNR_S -Wd,-xsafe=unboundsym -Wc,-Qiselect-funcalign=32 -xcode=
abs44 -Wc,-Qgsched-trace_late=1 -Wc,-Qgsched-T5 -xalias_level=weak -D_REENTRAN
T -DSS_64BIT_SERVER -DBIT64 -DMACHINE64 -K PIC -DPRECOMP -I. -I/export/home/orac
le/product/9.2/precomp/public -I/export/home/oracle/product/9.2/rdbms/public -I/
export/home/oracle/product/9.2/rdbms/demo -I/export/home/oracle/product/9.2/plsq
l/public -I/export/home/oracle/product/9.2/network/public -DSLMXMX_ENABLE -DSLTS
_ENABLE -D_SVID_GETTOD -D_REENTRANT -c outlic2007.c
cc -xarch=v9 -o outlic2007.exe outlic2007.o -L/export/home/oracle/product/9.2/l
ib/ -lclntsh `cat /export/home/oracle/product/9.2/lib/ldflags` `cat /export/ho
me/oracle/product/9.2/lib/sysliblist` -R/export/home/oracle/product/9.2/lib -lai
o -lposix4 -lm -lthread
Press any key to continue...
...
Рейтинг: 0 / 0
01.11.2007, 18:22:59
    #34911277
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
В смысле, там вопрос

Это нормально, что cc появляется дважды?
...
Рейтинг: 0 / 0
01.11.2007, 18:29:22
    #34911299
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
-Летать пока не умеют, стрелять тоже. Но ОРЛЫ!!!(с)
Нормально
- первый проход компиляция ( ключик -с )
- второй проход линковка - из объктника и библиотек получается exe

ЗЫ Интересно а во сколько условных енотов обходится такое портирование?
...
Рейтинг: 0 / 0
01.11.2007, 18:36:13
    #34911320
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
у нас госконтора.
фен есть?
...
Рейтинг: 0 / 0
01.11.2007, 18:37:15
    #34911323
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Чем портировать, дешевле переехать в виртуальную машину на новом железе.
...
Рейтинг: 0 / 0
01.11.2007, 18:39:26
    #34911334
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
типа, время вечерней расслабухи?
...
Рейтинг: 0 / 0
01.11.2007, 18:44:29
    #34911348
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Ага, только ты не обижайся, просто гиблое дело с такими знаниями портировать программку писанную на голом OCI, ложащуюся по 11 сигналу. OCI это гимн типу void*[*]
...
Рейтинг: 0 / 0
01.11.2007, 18:50:49
    #34911373
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
какие обиды? relax!
один-то раз заработала прога, всё выгрузила.
проще уж на SQL-е сделать выборку и порубить символы конца строки.
это на пожарный случай.
где постваить ключик на отладку при компиляции -g ?
использую стандартные demo_proc.mk и env_precomp.mk ?
...
Рейтинг: 0 / 0
01.11.2007, 18:56:24
    #34911387
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
А там же где ставится xarch=v9 прямо нарасти строчку и при компиляции -O3 убери.
...
Рейтинг: 0 / 0
01.11.2007, 19:33:06
    #34911468
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
На SunOS вроде pstack команда core файл трейсит.
...
Рейтинг: 0 / 0
01.11.2007, 20:31:17
    #34911567
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Ну и что он там увидит, асемблерный код? Очень позновательно
...
Рейтинг: 0 / 0
01.11.2007, 20:41:21
    #34911582
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
Кому как. Там можно посмотреть call stack сишных проциков грохнувшегося процесса. blindedНу и что он там увидит, асемблерный код? Очень позновательно
...
Рейтинг: 0 / 0
02.11.2007, 11:38:22
    #34912506
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
несколько вхождений xarch=v9 и ни одного -O3. смотрел в env_precomp.mk
можно поподробнее, где поставить -g?
____________________
bash-2.05$ pstack core
core 'core' of 4470: outlic2007.exe osr207.dat
ffffffff7d43d184 strcpy (ffffffff7fffcd78, 0, ffffffff7fffcd78, 0, 1001655d0, 1
ea) + 2dc
000000010000212c main (1eb, 1d9, 100105a20, 1001653d0, ffffffff7ffffac8, 1eb) +
8cc
000000010000121c _start (0, 0, 0, 0, 0, 0) + 17c
Press any key to continue...

osr207.dat - файл структуры таблицы, т.е. какие поля, какие форматы
______________________

ещё вопрос
proc - "родной" прекомпилятор?
...
Рейтинг: 0 / 0
02.11.2007, 12:39:06
    #34912804
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
down.ltdнесколько вхождений xarch=v9

как это нет, вон у тебя в командной строчке

down.ltd
и ни одного -O3. смотрел в env_precomp.mk
можно поподробнее, где поставить -g?


ну ошибся -xO3 убрать
Нет ну я что телепат? Можно подумать я твои make файлы вижу?


down.ltd
____________________
bash-2.05$ pstack core
core 'core' of 4470: outlic2007.exe osr207.dat
ffffffff7d43d184 strcpy (ffffffff7fffcd78, 0, ffffffff7fffcd78, 0, 1001655d0, 1
ea) + 2dc
000000010000212c main (1eb, 1d9, 100105a20, 1001653d0, ffffffff7ffffac8, 1eb) +
8cc
000000010000121c _start (0, 0, 0, 0, 0, 0) + 17c
Press any key to continue...

osr207.dat - файл структуры таблицы, т.е. какие поля, какие форматы
______________________

Нехороший адрес, хотя черт его знает?
down.ltd
ещё вопрос
proc - "родной" прекомпилятор?
Родной для Oracle к С отношения не имеет и он тут не причем
...
Рейтинг: 0 / 0
02.11.2007, 14:25:09
    #34913250
down.ltd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Segmentation Fault (core dumped) . Как победить?
в общем, резюмируя, факир был пьян и fucking не удался...
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Segmentation Fault (core dumped) . Как победить? / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]