6

I have a coredmp where all thread stack look normal but one stack shows like this. Can any one tell me possible reason for this? i can see exit is being called from oracle libs, is this issue of oracle? Can any one guide me when this can happen?

 Thread 3 (process 26454):
#0  0x00002b803ceb54a8 in exit () from /lib64/libc.so.6
#1  0x00002b803bbe93f5 in skgdbgcra () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#2  0x00002b803be9cdec in kpeDbgCrash () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#3  0x00002b803be9c627 in kpeDbgSignalHandler () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#4  0x00002b803bbe64b1 in skgesig_sigactionHandler () from /home/oracle/product/11g/lib/libclntsh.so.11.1
#5  <signal handler called>


> Program terminated with signal 6, Aborted.

Note:

  1. Before voting down, can you guys tell me why voting down? I am really clueless as what to check
  2. Here is another stackoverflow link where stack is similar but not same, but still no clear answer
  3. Link talks about orable bug, Is this same isue?
Community
  • 1
  • 1
Nasir
  • 708
  • 2
  • 11
  • 28
  • SOMETHING in the code called abort - this is typically when the application hits an assert or some other condition where the programmer thinks "This should not happen, I'd better stop before anything goes more wrong". Normally this is done with a suitable message to stderr or stdout to say "Heck, I didn't expect X > 1000" or some such. – Mats Petersson Feb 11 '15 at 09:03
  • @Mats Petersson i am not able to see any "abort" call in trace. – Nasir Feb 11 '15 at 09:08
  • It says "Signal 6", and that is the Linux abort signal... – Mats Petersson Feb 11 '15 at 09:32
  • @MatsPetersson i checked va/log/messages there are no kill commands with -6, also history i checked i do not find kill -6. – Nasir Feb 11 '15 at 11:22
  • No, it's PROBABLY issued by the program itself. I see it in your log that you provided "Program terminated with signal 6, Aborted." - of course, I can't tell HOW that happened, but it probably won't be in /var/log/messages - that will only have kernel issued signals, not once caused within applications. – Mats Petersson Feb 11 '15 at 21:09
  • @MatsPetersson Abort is being called from oracle lib, seems like oracle issue – Nasir Feb 13 '15 at 10:53
  • Possible duplicate of [ORA-24550: signal received: \[si\_signo=6\] error](http://stackoverflow.com/questions/22955099/ora-24550-signal-received-si-signo-6-error) – Wilfred Hughes Nov 05 '15 at 10:33

1 Answers1

9

Looks like it's an issue on oracle 11g.

  1. Starting from Oracle 11g Diagnostic Repositories are turned on by default. Automatic Diagnostic Repository (ADR) Parameters such as DIAG_SIGHANDLER_ENABLED, DIAG_ADR_ENABLED, DIAG_DDE_ENABLED are mostly set at SQLNET.ORA.

Having DIAG_SIGHANDLER_ENABLED will force all diagnostics to be written such as alert logs, trace files, application dumps and that becomes a overload and sometimes the Application stumbles.

  1. To turn off the signal handler and re-enable standard Operating System failure processing, place the following parameter setting in your client side or server side sqlnet.ora file under $ORACLE_HOME/network/admin directory.

    DIAG_ADR_ENABLED=OFF
    DIAG_SIGHANDLER_ENABLED=FALSE
    DIAG_DDE_ENABLED=FALSE
    

By default this parameter is set to true.

After making any such changes to ADR ie., turning off DIAG_SIGHANDLER_ENABLED, DIAG_ADR_ENABLED, DIAG_DDE_ENABLED, it is recommended to restart the Application after making the setting in sqlnet.ora.

  1. Turning off ADR parameters should cause no impact either to your Application or Database.
Wilfred Hughes
  • 29,846
  • 15
  • 139
  • 192
Nasir
  • 708
  • 2
  • 11
  • 28
  • Thanks a ton !!!, Have been spending lot of months on the issue and thinking its gdb fault to display the line of crash in my Pro*C file. – Adarsh Jun 25 '18 at 08:08