问题描述
我有一个coredmp,其中所有的线程堆栈看起来正常,但一个堆栈显示这样。任何人都能告诉我这个可能的原因吗?我可以看到exit是从oracle libs调用,是这个问题的oracle?
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.
注意:
- 在投票之前,你能告诉我为什么投票吗?
- 这里是另一个其中stack是相似但不相同,但仍然没有明确的答案
- 谈论orable bug,这是同样的事吗?
- Before voting down, can you guys tell me why voting down? I am really clueless as what to check
- Here is another stackoverflow link where stack is similar but not same, but still no clear answer
- Link talks about orable bug, Is this same isue?
推荐答案
看起来这是一个关于oracle 11g的问题。
Looks like it's an issue on oracle 11g.
- 从Oracle 11g开始,诊断存储库默认开启。自动诊断存储库(ADR)参数,例如
DIAG_SIGHANDLER_ENABLED
,DIAG_ADR_ENABLED
,DIAG_DDE_ENABLED
大多设置在SQLNET.ORA。
- 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.
有 DIAG_SIGHANDLER_ENABLED
会强制写入所有诊断信息,跟踪文件,应用程序转储和成为一个重载,有时候应用程序崩溃。
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.
-
信号处理程序并重新启用标准操作系统故障处理,请将以下参数设置放在$ ORACLE_HOME / network / admin目录下的客户端侧或服务器端sqlnet.ora文件中。
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
默认情况下,此参数设置为true。
By default this parameter is set to true.
即关闭 DIAG_SIGHANDLER_ENABLED
, DIAG_ADR_ENABLED
, DIAG_DDE_ENABLED
建议在sqlnet.ora中进行设置后重新启动应用程序。
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.
- 关闭ADR参数不应导致影响您的应用程序或数据库。
这篇关于什么是核心转储的原因?堆栈显示从oracle lib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!