ORA-24550: signal received: [si_signo=6] error

后端 未结 4 1238

I want to know what ORA-24550: signal received: [si_signo=6] means?

I know this is an oracle error and may an oracle latest patch can solve the issue.

When t

相关标签:
4条回答
  • 2020-12-17 03:29

    I had a similar error, but I obtained the si_signo=11 (Invalid memory reference according to previous comment), in my case I was working on Red Hat 6.5 and my Oracle DB was in a different server, the problem was local to my Red Hat server, here the error:

    ORA-24550: signal received: [si_signo=11] [si_errno=0] [si_code=1] [si_int=1147687784] [si_ptr=0x7f8f44685368] [si_addr=0x7f8f1c001000]
    

    In my case the fix was very simple, I had a stack size limited amount, temporary solution was to change it to unlimited

    $ ulimit -s unlimited
    

    Then I retried to launch my application, the problem was gone. This solution, indeed, made me understand I had to set a higher value for the stack size index, please consider increasing the value but not using unlimited because it's not a good practice, it might take down the server or create performance issues.

    0 讨论(0)
  • 2020-12-17 03:36

    This is a sign that your Oracle client has received a signal it wasn't expecting. The Oracle docs say:

    ORA-24550: unhandled signal #number received. string

    Cause: Serious error: signal received

    Action: Refer to the platform-specific signal code, and see if the application code caused the error. Otherwise, record all error state and notify Oracle Support Services.

    By default, Oracle registers its own signal handlers, but you can configure it to let signals propagate instead.

    You will generally see a log line like this:

    ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=1] [si_int=597680428] [si_ptr=0x239fe290] [si_addr=0x3f445c43c0]
    

    and you may see a traceback too.

    To debug, you need to find out what is producing this signal. si_signo=6 means that you're getting signal 6. We can find out which signal this is with $ man 7 signal:

    Standard Signals

    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
    

    We can see you're getting SIGABRT. This usually means something is calling abort().

    0 讨论(0)
  • 2020-12-17 03:37

    Oracle sets its own signal handlers, so this error may be due to unhandled sigabort signal. You can disable oracle signal handling to find out if this error is provided by oracle, or there is completely another reason. To disable you set DIAG_SIGHANDLER_ENABLED=FALSE in sqlnet.ora file. I don't think that the reason is oracle itself.

    0 讨论(0)
  • 2020-12-17 03:41

    In my case it was the issue of mismatch of TLS version but still it shouldn't be restarting the .exe file so I figured out the handling was not proper in soap which caused the .exe to crash

    return soap_set_receiver_error(soap, soap_ssl_error(soap, r), "SSL/TLS handshake failed", SOAP_SSL_ERROR);

    where r wasn't initialized so it caused crashing of .exe file

    Any typo in the https link could restart the .exe which wasn't the good thing as I was working on critical transaction processing systems.

    0 讨论(0)
提交回复
热议问题