To znak, że twój klient Oracle otrzymał sygnał, którego się nie spodziewał. Dokumenty Oracle mówią:
ORA-24550:odebrano nieobsługiwany sygnał o numerze. ciąg
Przyczyna:Poważny błąd:odebrano sygnał
Akcja:zapoznaj się z kodem sygnału specyficznym dla platformy i sprawdź, czy kod aplikacji spowodował błąd. W przeciwnym razie zapisz wszystkie stany błędów i powiadom Oracle Support Services.
Domyślnie Oracle rejestruje własne programy obsługi sygnałów, ale można je skonfigurować tak, aby zamiast tego zezwalały na propagację sygnałów.
Zazwyczaj zobaczysz taki wiersz dziennika:
ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=1] [si_int=597680428] [si_ptr=0x239fe290] [si_addr=0x3f445c43c0]
i możesz również zobaczyć śledzenie.
Aby debugować, musisz dowiedzieć się, co wytwarza ten sygnał. si_signo=6
oznacza, że otrzymujesz sygnał 6. Możemy dowiedzieć się, który to sygnał za pomocą $ man 7 signal
:
Sygnały standardowe
Signal Value Action Comment
-------------------------------------------------------------------------
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGILL 4 Core Illegal Instruction
SIGABRT 6 Core Abort signal from abort(3)
SIGFPE 8 Core Floating point exception
SIGKILL 9 Term Kill signal
SIGSEGV 11 Core Invalid memory reference
SIGPIPE 13 Term Broken pipe: write to pipe with no readers
SIGALRM 14 Term Timer signal from alarm(2)
SIGTERM 15 Term Termination signal
Widzimy, że otrzymujesz SIGABRT
. Zwykle oznacza to, że coś wywołuje abort()
.