Программа Solaris аварийно завершает работу с SIGABRT во время простоя

Одна из моих программ в солярисе внезапно вылетает без следов в логах с SIGABRT

Ниже дамп ядра

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()

Похоже, что с кодом нет проблем, так как процесс внезапно завершает работу в режиме ожидания.

Тогда я решил посмотреть системный журнал, и нашел следующее сообщение

[ID 702911 auth.error] [22216] Run idle timeout reached (32400 seconds)

Есть идеи, почему это происходит?

0

Решение

SIGABRT повышен, потому что у вас есть необработанное исключение. Трассировка стека говорит вам, откуда возникло исключение:

void TAO_ORB_Core::check_shutdown()

документация поскольку эта функция говорит, что выдает исключение, если ACE ORB выключился, что означает, что программа должна завершиться. Таким образом, возникает вопрос: почему логика вашего приложения закрывает ORB, когда он достигает этого «тайм-аута»? Это то, что вам нужно изучить в своем приложении — я не думаю, что у нас есть источник для этого.

0

Другие решения


По вопросам рекламы [email protected]