View Single Post
  #3 (permalink)  
Old 01-10-2004
shaver shaver is offline
Registered User
 
 
Join Date: May 2003
Posts: 35
Re: Re: LocalObject vs Object for "no-Ice" application?

Quote:
Originally posted by michi
Ice::Object is derived from IceUtil::GCShared. In turn, GCShared hooks into the data structures for the garbage collector. The collector is initialized the first time you call Ice::initialize(). If you do not create any communicator in your process, the collector's data structures are not initialized.
Yeah, that's sort of where Vlad and I were leaning as well, which is what led us to experiment (successfully, it turns out) with LocalObject.
Quote:
Having said all this, it seems a bit strange to want to use Ice::Object without also creating at least one communciator.
In this case, I was writing a unit test for something that is used as part of a larger, communicator-having application. I wanted to use the IceUtil::Handle parts, which require that their parameter classes derive from Object or LocalObject, and the docs made it sound like I should prefer Object for everything but servant locators.
Quote:
Could you let me know what happens if you instantiate a communicator please? Also, taking a core dump of the hung process and then getting a stack trace of all active threads would be useful. Once we know what causes the problem, I'll certainly try and see if we can come up with a way to avoid the problem you are seeing.
I'll try to poke at it some more today. gdb doesn't give me very good stack traces of this problem, sadly -- there may be stack corruption as a result of whatever else is going wrong -- but I'll try adding some skidmarks. Thanks!

Mike
Reply With Quote