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

При выполнении программы -
<номер_процесса>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
Segmentation Fault (core dumped) . Как победить?
    #34904145
Фотография Умаксуман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно не там. Стек походу не причем. Где-то в программе идет обращение к мертвому указателю. Копай код.
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34904455
segfault64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gdb -c core
(gdb)bt
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34904472
Фотография Умаксуман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вово, бектрейс тоже хорошо поглядеть
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34904526
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не смейтесь
что такое backtrace ?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34905363
segfault64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://shekel.jct.ac.il/cc-res/online-doc/gdb/gdb_43.html
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34909939
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на все приведённые команды (gdb, bt -c core) - один ответ: not found
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34909982
Фотография Умаксуман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
down.ltdна все приведённые команды (gdb, bt -c core) - один ответ: not found


gdb - отладчик такой. Я удивляюсь вообще, кто тебя пустил на *nix разрабатывать, если ты в нем ничего не понимаешь.
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34910282
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Замечание справедливое, но у нас, собственно, ничего не разрабатывается.
Есть прога на 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
Segmentation Fault (core dumped) . Как победить?
    #34910412
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отладчик на SUN называется dbx
А компилятор там дай боже
Да и просмотр стека тебе скорее всего не поможет, комнда просмотра стека - where
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911270
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдогонку вопрос
при компиляции вижу 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
Segmentation Fault (core dumped) . Как победить?
    #34911277
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В смысле, там вопрос

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

ЗЫ Интересно а во сколько условных енотов обходится такое портирование?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911320
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у нас госконтора.
фен есть?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911323
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем портировать, дешевле переехать в виртуальную машину на новом железе.
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911334
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
типа, время вечерней расслабухи?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911348
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, только ты не обижайся, просто гиблое дело с такими знаниями портировать программку писанную на голом OCI, ложащуюся по 11 сигналу. OCI это гимн типу void*[*]
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911373
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какие обиды? relax!
один-то раз заработала прога, всё выгрузила.
проще уж на SQL-е сделать выборку и порубить символы конца строки.
это на пожарный случай.
где постваить ключик на отладку при компиляции -g ?
использую стандартные demo_proc.mk и env_precomp.mk ?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911387
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А там же где ставится xarch=v9 прямо нарасти строчку и при компиляции -O3 убери.
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911468
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На SunOS вроде pstack команда core файл трейсит.
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911567
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что он там увидит, асемблерный код? Очень позновательно
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34911582
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому как. Там можно посмотреть call stack сишных проциков грохнувшегося процесса. blindedНу и что он там увидит, асемблерный код? Очень позновательно
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34912506
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
несколько вхождений 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
Segmentation Fault (core dumped) . Как победить?
    #34912804
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Segmentation Fault (core dumped) . Как победить?
    #34913250
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем, резюмируя, факир был пьян и fucking не удался...
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34923384
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я есть рвать и метать !!!!
Там был нужен, оказывается ещё один параметр при запуске.
Полез в код и увидел. Ладно, проехали.
Теперь всё выгружается, но вместо русских символов знаки вопросов ?????????????
Люди, кто знает, какой параметр подкрутить.
Нашел в параметрах proc'a


Pro*C/C++: Release 9.2.0.4.0 - Production on Wed Oct 31 11:20:29 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

Option Name Current Value Description
-------------------------------------------------------------------------------
.............
nls_char *none* Specify National Language character variables
nls_local no Control how NLS character semantics are done
....................
это здесь?
если да, то какое значение? где почитать?
...
Рейтинг: 0 / 0
Segmentation Fault (core dumped) . Как победить?
    #34924721
down.ltd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
setenv NLS_LANG American_America.CL8ISO8859P5 - и полегчало.
хотя в PROFILE прописано... странно.
в общем, тема закрыта.
спасибо всем.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Segmentation Fault (core dumped) . Как победить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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