One of my programs in solaris crashes suddenly without any traces in the logs with SIGABRT
The following is the core dump
threading model: multi-threaded
status: process terminated by SIGABRT (Abort)
C++ symbol demangling enabled
libc.so.1`_lwp_kill+0xa()
libc.so.1`raise+0x19()
libc.so.1`abort+0x90()
libCrun.so.1`void __Cimpl::default_terminate+9()
libCrun.so.1`void __Cimpl::ex_terminate+0x25()
libCrun.so.1`void __Crun::ex_throw+0x26()
libTAO.so.2.0.7`void TAO_ORB_Core::check_shutdown+0x4c()
0x319c9a8()
There seems to be no issues with the code as the process crashes suddenly when its idle.
Then I decided to look at the syslog, and found the following message
[ID 702911 auth.error] [22216] Run idle timeout reached (32400 seconds)
Any idea why this happens?
SIGABRT is raised because you have an unhandled exception. The stack trace tells you where the exception came from:
void TAO_ORB_Core::check_shutdown()
The documentation for that function says it throws an exception if the ACE ORB has shut down, meaning the program needs to terminate. So the question becomes, why does your application logic shut down the ORB when it hits that "timeout"? That's something you'll need to dig into your application to find out--I don't think we have the source for that.