This forum has been archived. Please start a new discussion on GitHub.

icegridregistry crash

icegridregistry crashes at IceGrid/QueryI.cpp:90.
Every time running "application update".
(gdb) bt
#0 0x0000002a9711121d in raise () from /lib64/tls/
#1 0x0000002a97112a1e in abort () from /lib64/tls/
#2 0x0000002a9710aae1 in __assert_fail () from /lib64/tls/
#3 0x0000000000613a26 in IceGrid::QueryI::findAllReplicas (this=0xb9a840, proxy=@0x5a775540) at QueryI.cpp:90
#4 0x0000002a95798a34 in IceGrid::Query::___findAllReplicas () from /opt/Ice-3.2/lib64/
#5 0x0000002a9579f00e in IceGrid::Query::__dispatch () from /opt/Ice-3.2/lib64/
#6 0x0000002a967c30f2 in IceInternal::Incoming::invoke () from /opt/Ice-3.2/lib64/
#7 0x0000002a9678bc72 in Ice::ConnectionI::invokeAll () from /opt/Ice-3.2/lib64/
#8 0x0000002a967901ec in Ice::ConnectionI::message () from /opt/Ice-3.2/lib64/
#9 0x0000002a9689820d in IceInternal::ThreadPool::run () from /opt/Ice-3.2/lib64/
#10 0x0000002a9689940e in IceInternal::ThreadPool::EventHandlerThread::run () from /opt/Ice-3.2/lib64/
#11 0x0000002a96a3ff16 in startHook () from /opt/Ice-3.2/lib64/
#12 0x0000002a96b5110a in start_thread () from /lib64/tls/
#13 0x0000002a971a98c3 in clone () from /lib64/tls/
#14 0x0000000000000000 in ?? ()

I will keep trying to solve this.
Does any one have a patch already?


  • I removed the assert. It seems worked.
    Line 89 - 94
    AdapterInfoSeq infos = _database->getAdapterInfo(prx->ice_getAdapterId());
    if(!infos.empty() && infos[0].replicaGroupId != prx->ice_getAdapterId()) // The adapter id doesn't refer to a replica group.
    return Ice::ObjectProxySeq();

    It will return an empty result when "application update" is running, rather than crash itself.

    Does any one know why AdapterInfoSeq is empty while updating? I didn't figure out real problem. DatabaseI and QueryI are synced prefectly.