|
|
|
|||||
|
Problem w. debug assertion after Ice call
I don't know if this belongs in the Bug Reporting area instead of here, or if it is even a porblem with Ice and not with my code, but I thought I might as well present here and see what you could say.
In brief the problem is that when running my program in debug mode (compiled with debug flags and libraries ofcourse) in MSVC++ 7.0, I get a heap check assertion failure after making a Ice call, and as far as I can see it occurs when the program tries to delete a ::IceInternal::Handle< ::IceDelegate::Ice::Object> Somewhere in the slice generated code. The full stacktrace (If it is of any help) is ntdll.dll!7c901230() ntdll.dll!7c96d208() ntdll.dll!7c960ae7() kernel32.dll!7c85e7af() msvcr70d.dll!_heapchk() Line 104 + 0x10 C msvcr70d.dll!_CrtCheckMemory() Line 1500 + 0x5 C msvcr70d.dll!_free_dbg_lk(void * pUserData=0x0f69d2c8, int nBlockUse=0x00000001) Line 1100 + 0x5 C msvcr70d.dll!_free_dbg(void * pUserData=0x0f69d2c8, int nBlockUse=0x00000001) Line 1070 + 0xd C msvcr70d.dll!operator delete(void * pUserData=0x0f69d2c8) Line 53 + 0x10 C++ ice20d.dll!std::map<IceInternal::Handle<Ice::Objec t>,int,std::less<IceInternal::Handle<Ice::Object> >,std::allocator<std: air<IceInternal::Handle<Ice ::Object> const ,int> > >::`scalar deleting destructor'() + 0x29 C++ice20d.dll!IceInternal::BasicStream::WriteEncaps:: ~WriteEncaps() Line 248 + 0x1f C++ ice20d.dll!IceInternal::BasicStream::WriteEncaps:: `scalar deleting destructor'() + 0x16 C++ ice20d.dll!IceInternal::BasicStream::endWriteEncap s() Line 289 + 0x1c C++ ice20d.dll!IceInternal::Outgoing::invoke() Line 109 C++ GameClient.exe!IceDelegateM::GameWorld::GameObject Connection::runScript(const std::basic_string<char,std::char_traits<char>,std: :allocator<char> > & scriptName={...}, const std::vector<IceInternal::Handle<GameWorld::BaseVar iant>,std::allocator<IceInternal::Handle<GameWorld ::BaseVariant> > > & parms={...}, const std::map<std::basic_string<char,std::char_traits<c har>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,st d::allocator<char> >,std::less<std::basic_string<char,std::char_trait s<char>,std::allocator<char> > >,std::allocator<std: air<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std ::allocator<char> > > > > & __context={...}) Line 2529 + 0xe C++> GameClient.exe!IceProxy::GameWorld::GameObjectConn ection::runScript(const std::basic_string<char,std::char_traits<char>,std: :allocator<char> > & scriptName={...}, const std::vector<IceInternal::Handle<GameWorld::BaseVar iant>,std::allocator<IceInternal::Handle<GameWorld ::BaseVariant> > > & parms={...}, const std::map<std::basic_string<char,std::char_traits<c har>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,st d::allocator<char> >,std::less<std::basic_string<char,std::char_trait s<char>,std::allocator<char> > >,std::allocator<std: air<std::basic_string<char, std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std ::allocator<char> > > > > & __ctx={...}) Line 1869 + 0x19 C++GameClient.exe!IceProxy::GameWorld::GameObjectConn ection::runScript(const std::basic_string<char,std::char_traits<char>,std: :allocator<char> > & scriptName={...}, const std::vector<IceInternal::Handle<GameWorld::BaseVar iant>,std::allocator<IceInternal::Handle<GameWorld ::BaseVariant> > > & parms={...}) Line 1857 C++ GameClient.exe!GameObject::requestScript(Utils::St ring functionName={...}, Com::Ptr<Q::VariantCollection> parms={...}, bool blocking=false) Line 1120 + 0x45 C++ GameClient.exe!GameObject::receive(Q::MessagePeer * from=0x00000000, Q::Message * m=0x02378ab0, Q::MessageResult * result=0x02378b70) Line 563 C++ GameClient.exe!Fixture::receive(Q::MessagePeer * from=0x00000000, Q::Message * m=0x02378ab0, Q::MessageResult * result=0x02378b70) Line 307 C++ qgamedev.dll!48014147() qgamedev.dll!48014d96() qgamedev.dll!48015f0b() GameClient.exe!GameObject: nCommand(Utils::String command={...}) Line 746 C++GameClient.exe!Fixture: nCommand(Utils::String command={...}) Line 311 C++GameClient.exe!GameObjectPieMenu: nChildButtonRel ease(FrameComponent * child=0x0f69c128, Q::Layer & l={...}, const Maths::Vec2<float> & layerRelative={...}, const Maths::Vec2<float> & screenRelative={...}, unsigned int buttons=0x00000001) Line 79 C++GameClient.exe!PieComponent: nChildButtonRelease( FrameComponent * child=0x0f69ddb8, Q::Layer & l={...}, const Maths::Vec2<float> & layerRelative={...}, const Maths::Vec2<float> & screenRelative={...}, unsigned int buttons=0x00000001) Line 211 + 0x2c C++GameClient.exe!FrameComponent: nButtonRelease(Q:: Layer & l={...}, const Maths::Vec2<float> & layerRelative={...}, const Maths::Vec2<float> & screenRelative={...}, unsigned int buttons=0x00000001) Line 201 + 0x2f C++qserver.dll!44a3fd97() qserver.dll!44a3db1d() qserver.dll!44a38c64() qserver.dll!44a390d5() QKflow.dll!44152248() qsys.dll!44003fc0() qsys.dll!4400436e() kernel32.dll!7c80b50b() kernel32.dll!7c825bc4() The client is being run via the debugger of MSVC++ 7.0 on a Windows XP machine connecting to a server running on a Fedora Core 2 linux machine. There doesn't appear to be a problem when I don't run the program in debug mode. mvh Nis |
|
|||||
|
Quote:
Quote:
I'll see if I can track some other source of the problem, and otherwise I'll get back to you with a more selfcontained example. Thanks for the quick reply. mvh NHB |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Debug Assertion Failed! ... Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)". | ablo_zhou | Help Center | 1 | 07-27-2006 05:05 AM |
| How to debug a icebox service . | fan | Help Center | 1 | 08-23-2005 11:21 PM |
| Debug named profiles | griffima | Help Center | 7 | 10-18-2004 12:59 PM |
| problem when call another service at start function. | damingyipai | Bug Reports | 2 | 02-29-2004 08:22 AM |
| how to debug ice? | clren | Help Center | 2 | 09-24-2003 10:55 PM |