|
|
|
||||||
|
It is difficult to work out what's happening without knowing which of the three assertions in ThreadPool.destroy() is triggering. (I'm surprised at the lack of line numbers too.)
Do you have any way to reproduce this problem? A code example that we can test with would be very useful. Thanks, Michi. |
|
||||||
|
I reproduced it!
hi michi,
i was able to reproduce the assertion in a small and simple project. the project was build with ICE 2.1.1 take care and thanks alot cu tom PS: line numbers are missing because icecs.pdb is not part of the installer in ICE 2.1.1 |
|
||||||
|
Hmmm... We fixed a few things around finalizers in 2.1.2. Could you install 2.1.2 and try with that please? (I just tried and didn't get the assertion with 2.1.2 whereas, with 2.1.1, the code fails as you say.)
Cheers, Michi. |
|
||||||
|
hi michi,
i switched to 2.1.2 and its working now! thanks alot! tom PS: in the 2.1.2 installer the pdb files for all .net assemblies are missing. intention or accident? Last edited by DeepDiver : 07-20-2005 at 05:18 AM. Reason: missing pdb comment |
|
||||||
|
hi michi,
im sorry to say the assertions didn't really go away in 2.1.2. i did add the pdb file to the GAC in order to get a more detailed error desc. it seems to be some timing issue, because once in 20 times it works WITHOUT any assertion/exception .... this comes from the VS debugger output window Quote:
Quote:
this didn't change anything. let me know if you need more input on this topic thx & have a nice weekend cu tom
__________________
Thomas Müller, Freelance Software Developer My profil on www.freelancermap.de Projects depend on customers |
|
||||||
|
hi michi,
i spend some more time with the problem: removing the call to adapter.deactivate() removes the assertion. so i was debugging into the code: - ThreadPool.unregister() adds an element to _changes - this entry is causing the assertion on destroy because the threadpool did not process the change entry until this point. - actually the threadpool did catch an exception and is trying to access Instance.logger() to report the error. location: IceInternal.ThreadPool.EventHandlerThread.Run() Zeile 896 Instance is locked by Instance.destroy() take care tom
__________________
Thomas Müller, Freelance Software Developer My profil on www.freelancermap.de Projects depend on customers |
|
||||||
|
Your problem happens because the adapter is in the holding state. If you take the adapter out of the holding state first, things shut down fine. I'm working on a fix--in the mean time, can you take the adapter out of the holding state before destroying the communicator?
Cheers, Michi. |
|
||||||
|
hi michi,
i no longer move the adapter into the hold state. this fixes the problem. thanks alot cu tom
__________________
Thomas Müller, Freelance Software Developer My profil on www.freelancermap.de Projects depend on customers |
|
||||||
|
It turns out that the bug manifests itself if you transition quickly into the holding state and then destroy the communicator.
It's possible to fix this but, instead, we are considering removing the holding state altogether. Can I ask you why you had the adapter in the holding state in the first place? Thanks, Michi. |
|
||||||
|
hi michi,
i'm implementing a windows service and did use adapter.hold() within the stop operation of the server. because i initially wanted to share a communicator within one process hosting multiple windows services the adapter of each service was set to hold. deactivate() would cause an exception on activate() when starting again. currently i'm back at the point where i use one process with one communicator implementing one service. in this case i don't need adapter.hold(). thx & cu tom
__________________
Thomas Müller, Freelance Software Developer My profil on www.freelancermap.de Projects depend on customers Last edited by DeepDiver : 09-20-2005 at 04:15 AM. |
![]() |
| 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 |
| Don't "Ice-3.1.1-VC71.msi " include the "slice2java.exe"? | Jason Gao | Help Center | 4 | 10-26-2006 12:23 PM |
| Debug Assertion Failed! ... Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)". | ablo_zhou | Help Center | 1 | 07-27-2006 05:05 AM |
| Icepack registry "TimeOut" exception with heavy load | eaglecn | Help Center | 1 | 05-26-2006 01:02 AM |
| Bug in GC at Communicator::destroy() | acbell | Bug Reports | 2 | 02-24-2006 12:23 AM |
| Going from "in" to "out" param, using a class as a union | catalin | Help Center | 1 | 04-05-2004 09:55 AM |