Нужна помощь ORA-24550: получен сигнал:

Это мой первый вопрос. Если я пропустил добавить какую-либо информацию. Пожалуйста, дай мне знать.

Я получаю ошибку ниже при выполнении пакетной программы.

ORA-24550: signal received: [si_signo=4] [si_errno=0] [si_code=30] [si_addr=0]
kpedbg_dmp_stack()+364<-kpeDbgCrash()+124<-kpeDbgSignalHandler()+680<-skgesig_sigactionHandler()+264<-__sighandler()<-00000000<-00000000
./PRMS_RlsRTS[231]: 53543194 Illegal instruction(coredump).

libdebug assertion "(framep->getGpr(STKP, &addr) == DB_SUCCESS && *nextStkpp == addr)" failed at line 1299 in file ../../../../../../../../../../../src/bos/usr/ccs/lib/libdbx/libdebug/modules/stackdebug/POWER/stackdb_FrameProgress.C

Illegal instruction in . at 0x0 ($t1)
0x00000000 00000000       Invalid opcode.

Это профессиональная программа *C, работающая в AIX 7.1 с Oracle Client 12.1.


person user11953765    schedule 20.08.2019    source источник
comment
если вы будете искать свою ошибку, вы найдете отличные вопросы и ответы здесь stackoverflow.com/questions/22955099/   -  person thatjeffsmith    schedule 20.08.2019
comment
@таджеффсмит. Я прочитал пост, изменил ulimit на неограниченный, но он все еще не работает. Также запросил администратор базы данных отключить параметры автоматического диагностического репозитория (ADR). Попробую еще раз.   -  person user11953765    schedule 21.08.2019
comment
[si_signo=4] SIGILL 4 Core Недопустимая инструкция 7901867/что-причинно-сигнал-сигилл   -  person Dmitry Demin    schedule 21.08.2019
comment
У вас в программе ошибка с повреждением памяти. К сожалению, это не обнаруживается, когда это происходит, только намного позже. Возможным инструментом отладки является Electric Fence. Его можно скомпилировать/установить в AIX, но его проще использовать в Linux (если вашу программу можно скомпилировать в Linux, как и должно быть), это будет примерно так: ulimit -c unlimited; LD_PRELOAD=/usr/lib64/libefence.so myprogram; gdb myprogram core   -  person Lorinczy Zsigmond    schedule 21.08.2019
comment
@LorinczyZsigmond: Спасибо. Я не могу скомпилировать его в Linux, так как он зависит от множества библиотек Tuxedo, недоступных на других серверах. Пожалуйста, сообщите, если вы думаете, что причиной этого является моя прикладная программа, а не AIX/Oracle.   -  person user11953765    schedule 21.08.2019
comment
Случайный вопрос: не приходилось ли вам вызывать хранимую процедуру PL/SQL, которая возвращает курсор в качестве параметра 'out'?   -  person Lorinczy Zsigmond    schedule 22.08.2019
comment
Нет, мы не вызываем процедуру PL/SQL, вместо этого мы объявляем курсор внутри pro *c. Курсор EXEC SQL DECLARE.   -  person user11953765    schedule 22.08.2019
comment
@user11953765 Несколько советов относительно Electric Fence: lzsiga.users.sourceforge.net/aix- linking.html#Q0040   -  person Lorinczy Zsigmond    schedule 24.08.2019