AnsweredAssumed Answered

crash with 'system_error' / 'Esri_runtimecore::Common::Internal_error_exception'

Question asked by norbert.thoden on Feb 20, 2018

Hi!

 

Since we switched to V100.2 our application crashes sometimes on startup :-(

 

Most of the time the last output is:

terminate called after throwing an instance of 'std::__1::system_error'
what(): mutex lock failed: invalid argument
Aborted (core dumped)

Or:

terminate called after throwing an instance of 'Esri_runtimecore::Common::Internal_error_exception'

 what():  Internal error exception

Program crashes

The process was ended forcefully.

Or:

terminate called after throwing an instance of 'std::__1::system_error'
what(): thread constructor failed: Resource temporarily unavailable
Aborted

Or:

(gdb) bt
#0 0x00007f5d7ce8b9b0 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1 0x00007f5d4c80a8e6 in std::__1::mutex::unlock() () from /usr/lib64/libruntimecore.so
#2 0x00007f5d4b23c18c in ?? () from /usr/lib64/libruntimecore.so
#3 0x00007f5d4b233fc2 in ?? () from /usr/lib64/libruntimecore.so
#4 0x00007f5d4b22b1b5 in ?? () from /usr/lib64/libruntimecore.so
#5 0x00007f5d4b230d5b in ?? () from /usr/lib64/libruntimecore.so
#6 0x00007f5d4b22e33b in ?? () from /usr/lib64/libruntimecore.so
#7 0x00007f5d4b294bd3 in ?? () from /usr/lib64/libruntimecore.so
#8 0x00007f5d4b2d4fa7 in ?? () from /usr/lib64/libruntimecore.so
#9 0x00007f5d4b2d4103 in ?? () from /usr/lib64/libruntimecore.so
#10 0x00007f5d4b2d0fe0 in ?? () from /usr/lib64/libruntimecore.so
#11 0x00007f5d4b297219 in ?? () from /usr/lib64/libruntimecore.so
#12 0x00007f5d4b297153 in ?? () from /usr/lib64/libruntimecore.so
#13 0x00007f5d4b2ce3ca in ?? () from /usr/lib64/libruntimecore.so
#14 0x00007f5d4b29673f in ?? () from /usr/lib64/libruntimecore.so
#15 0x00007f5d4b2cdec7 in ?? () from /usr/lib64/libruntimecore.so
#16 0x00007f5d4b2924ca in ?? () from /usr/lib64/libruntimecore.so
#17 0x00007f5d4b2bc9c1 in ?? () from /usr/lib64/libruntimecore.so
#18 0x00007f5d49fc7d3e in RT_GeoView_pulse () from /usr/lib64/libruntimecore.so
#19 0x00007f5d4e41586e in ESRI::RuntimeCore::QRTGeoView::pulse() () from /usr/lib64/libEsriCommonQt.so
#20 0x00007f5d4e725c77 in QtPrivate::QFunctorSlotObject<QRTImpl::GeoViewImpl::GeoViewImpl(std::unique_ptr<ESRI::RuntimeCore::QRTGeoView, std::default_delete<ESRI::RuntimeCore::QRTGeoView> >&&)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone .547741.11255] () from /usr/lib64/libEsriCommonQt.so
#21 0x00007f5d7a07ba83 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#22 0x00007f5d7a088ad7 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5
#23 0x00007f5d7a088db2 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib64/libQt5Core.so.5
#24 0x00007f5d7a07caf4 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#25 0x00007f5d7b17f71c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#26 0x00007f5d7b186500 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#27 0x00007f5d7f17cb09 in NGLApplication::notify (this=0x7ffe5d51c480, o=0x15e3b1e0, e=...) at /shd/CTC/TOOLS/TDS/TDS-source/Z/src/nglapplication/nglapplication.cpp:107
#28 0x00007f5d7a051115 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#29 0x00007f5d7a0a341e in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5
#30 0x00007f5d7a0a3a61 in ?? () from /usr/lib64/libQt5Core.so.5
#31 0x00007f5d745a2134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x00007f5d745a2388 in ?? () from /usr/lib64/libglib-2.0.so.0
#33 0x00007f5d745a242c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x00007f5d7a0a3d8c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#35 0x00007f5d6f290c91 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#36 0x00007f5d7a04f83b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#37 0x00007f5d7a057ef4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#38 0x0000000000405ab4 in main (argc=11, argv=0x7ffe5d51c5b8) at /shd/CTC/TOOLS/TDS/TDS-source/Lts/Application/main.cpp:357

 

 

Here a deadlock occured:

(gdb) bt
#0 0x00007f7433100a7c in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x00007f74330fb7fb in pthread_mutex_lock () from /lib64/libpthread.so.0
#2 0x00007f74037522b6 in std::__1::recursive_mutex::lock() () from /usr/lib64/libruntimecore.so
#3 0x00007f740155c2ba in ?? () from /usr/lib64/libruntimecore.so
#4 0x00007f740136a225 in RT_Map_setDoneLoadingCallback () from /usr/lib64/libruntimecore.so
#5 0x00007f740504ef58 in ESRI::RuntimeCore::QRTMap::disconnect_callbacks_() [clone .11901] () from /usr/lib64/libEsriCommonQt.so
#6 0x00007f740504ec36 in ESRI::RuntimeCore::QRTMap::~QRTMap() [clone .11954] () from /usr/lib64/libEsriCommonQt.so
#7 0x00007f740504ece2 in ESRI::RuntimeCore::QRTMap::~QRTMap() () from /usr/lib64/libEsriCommonQt.so
#8 0x00007f74053368b6 in QRTImpl::MapImpl::~MapImpl() () from /usr/lib64/libEsriCommonQt.so
#9 0x00007f7405336990 in QRTImpl::MapImpl::~MapImpl() () from /usr/lib64/libEsriCommonQt.so
#10 0x00007f740545fec8 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [clone .local.12842] () from /usr/lib64/libEsriCommonQt.so
#11 0x00007f74050c4f30 in QRTImpl::MapViewImpl::~MapViewImpl() [clone .local.988.25663] () from /usr/lib64/libEsriCommonQt.so
#12 0x00007f73f0c62889 in Esri::ArcGISRuntime::GeoView::~GeoView() () from /shd/CTC/TOOLS/TDS/TDS-build/lib/libsituationMap.so
#13 0x00007f73f0c76a9d in Esri::ArcGISRuntime::MapGraphicsView::~MapGraphicsView() () from /shd/CTC/TOOLS/TDS/TDS-build/lib/libsituationMap.so
#14 0x00007f73f0c76ad9 in Esri::ArcGISRuntime::MapGraphicsView::~MapGraphicsView() () from /shd/CTC/TOOLS/TDS/TDS-build/lib/libsituationMap.so
#15 0x00007f74302bf105 in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#16 0x00007f7431425b42 in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007f73f0b2966c in SituationMap::Map::~Map (this=0x7f722b0c3f30, __in_chrg=<optimized out>) at /shd/CTC/TOOLS/TDS/TDS-source/Lts/Viewer/SituationMap/Map/map.h:235
#18 0x00007f73f0b0d74c in SituationMap::MapImpl::~MapImpl (this=0x7f722b0c3f30, __in_chrg=<optimized out>) at /shd/CTC/TOOLS/TDS/TDS-source/Lts/Viewer/SituationMap/MapImpl/map_impl.cpp:1066
#19 0x00007f73f0b0d798 in SituationMap::MapImpl::~MapImpl (this=0x7f722b0c3f30, __in_chrg=<optimized out>) at /shd/CTC/TOOLS/TDS/TDS-source/Lts/Viewer/SituationMap/MapImpl/map_impl.cpp:1104

 

 

The first basemap was loaded and doneLoading was emitted,

Afterwards (at the same time) the

  • remaining basemaps are still loading,
  • a couple of GraphicalOverlays are added and some swatch symbols (MIL2525D) were created and added to the GraphicslOverlays...

 

Does anyone has an idea?

Are there any tools?

 

Btw:

The text (what) is not very specific

 

Thanks in advance

Outcomes