Archived
This forum has been archived. Please start a new discussion on GitHub.
problems while build Ice-3.0.1with intel cc 9.0 on Itanium
The happy thing is that I succeed in porting Ice-3.0.1 to Itanium(redhat as4 on hp rx4640) with gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1).Only 2 head files need patch(add __ia64 switch):
the run.py output
Best regards!
- include/IceUtil/Config.h
- src/icecpp/config.h
the run.py output
../../../test/Freeze/evictor/client: warning: connection exception: TcpTransceiver.cpp:217: Ice::ConnectionLostException: connection lost: recv() resh: line 1: 26902 Segmentation fault ../../../test/Freeze/evictor/server --Ice.Default.Host=127.0.0.1 --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.NullHandleAbort --Ice.Warn.Connections --Ice.ServerIdleTime=30 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 --Freeze.DbEnv.db.DbHome=../../../test/Freeze/evictor/db --Ice.Config=../../../test/Freeze/evictor/config 2>&1 turned zero local address = 127.0.0.1:24494 remote address = 127.0.0.1:12345 ../../../test/Freeze/evictor/client: warning: connection exception: TcpTransceiver.cpp:217: Ice::ConnectionLostException: connection lost: recv() returned zero local address = 127.0.0.1:24496 remote address = 127.0.0.1:24495 TcpTransceiver.cpp:217: Ice::ConnectionLostException: connection lost: recv() returned zerothe error occured here(Client.cpp)
// // Remove a facet that does not exist // try { servants[0]->removeFacet("facet3");////the server got segment fault here... test(false); } catch(const Test::NotRegisteredException&) { }and this is server 's trackback:
(idb) where >0 0x2000000001005520 in __pthread_mutex_lock_internal(...) in /lib/tls/libpthread-2.3.4.so #1 0x400000000001f700 in ((Mutex*)0x82696c2f63689c2f)->Mutex::lock() "../../../include/IceUtil/Mutex.h":305 #2 0x4000000000020400 in ((Shared*)0x82696c2f63689c1f)->Shared::__decRef() "../../../include/IceUtil/Shared.h":233 Warning: bad source correlation found. Further instances ignored. #3 0x200000000011cd60 in ((Handle<Freeze::EvictorElement>*)0x2000000002c93b30)->Handle<Freeze::EvictorElement>::~Handle(=<no value>) "../../include/IceUtil/Handle.h":153 #4 0x200000000011cee0 in ((Handle<Freeze::EvictorElement>*)0x2000000002c93b30)->Handle<Freeze::EvictorElement>::_ZN7IceUtil6HandleIN6Freeze14EvictorElementEED1Ev() "../../include/IceUtil/Handle.h":65536 #5 0x20000000001836f0 in ((EvictorI*)0x6000000000024f50)->EvictorI::removeFacet(=<no value>, ident=& struct Identity { ... }, facet=& class basic_string<char,std::char_traits<char>,std::allocator<char> > { ... }) "EvictorI.cpp":730 #6 0x4000000000109ad0 in ((ServantI*)0x2000000000ff2ff0)->ServantI::removeFacet(name=& class basic_string<char,std::char_traits<char>,std::allocator<char> > { ... }, current=& struct Current { ... }) "TestI.cpp":136 #7 0x400000000010a1c0 in _ZTv0_n112_N4Test8ServantI11removeFacetERKSsRKN3Ice7CurrentE(...) "TestI.cpp":0 #8 0x40000000000bb440 in ((Servant*)0x2000000000ff2ff0)->Servant::___removeFacet() "Test.cpp":2947 #9 0x40000000000bd640 in ((Servant*)0x2000000004101838)->Servant::__dispatch(in=& class Incoming { ... }, current=& struct Current { ... }) "Test.cpp":3088 #10 0x40000000000bdb40 in _ZTv0_n168_N4Test7Servant10__dispatchERN11IceInternal8IncomingERKN3Ice7CurrentE(...) "Test.cpp":0I stoped tracing here(src/Freeze/EvictorI.cpp)
Ice::ObjectPtr Freeze::EvictorI::removeFacet(const Identity& ident, const string& facet) { ................ if(servant == 0) { NotRegisteredException ex(__FILE__, __LINE__); ex.kindOfObject = "servant"; ex.id = identityToString(ident); if(!facet.empty()) { ex.id += " -f " + IceUtil::escapeString(facet, ""); } throw ex;////until here,everything is ok............ }Please give some tricks or suggestion,thanks a lot!
Best regards!
0
Comments
-
Hi Yunqiao Yin,
Since this part of the test is fairly simple, single-threaded and works well on all supported platforms/compilers, it could be a C++ compiler (or C++ runtime environment) bug. Make sure you have the latest Intel C++ patches and double-check your compiler flags.
Are you sure the server throws this exception when it crashes? According to your stack-trace, it's earlier in the function (line 730) (probably line 731 in the 3.0.1 source file). You should try to further narrow down the problem, and ideally reduce it to a very simple test-case.
Of course, if you have a commercial need for Ice on Itanium, we could track down this problem for you and add support for this platform. Contact us as sales@zeroc.com in that case.
Cheers,
Bernard0 -
bernard wrote:Hi Yunqiao Yin,
Since this part of the test is fairly simple, single-threaded and works well on all supported platforms/compilers, it could be a C++ compiler (or C++ runtime environment) bug. Make sure you have the latest Intel C++ patches and double-check your compiler flags.
Are you sure the server throws this exception when it crashes? According to your stack-trace, it's earlier in the function (line 730) (probably line 731 in the 3.0.1 source file). You should try to further narrow down the problem, and ideally reduce it to a very simple test-case.
Of course, if you have a commercial need for Ice on Itanium, we could track down this problem for you and add support for this platform. Contact us as sales@zeroc.com in that case.
Cheers,
Bernard
Yours
Yunqiao Yin0