[omniORB] Exception From omni_thread_wrapper At Static Destruction Time

Craig W. Wright craig.wright at cometsolutions.com
Sun Sep 11 00:33:18 BST 2005


Hi list!

I'm having a strange problem with omniORB 4.0.5 on Windows with Visual 
C++ 6.0. The same code runs on Redhat Linux 9.0 with gcc-3.2.2. Anyway, 
on to the problem.

While my server application is exiting I get an exception with the 
following stack trace:

KERNEL32! 7c81eb33()
MSVCRTD! _CxxThrowException at 8 + 57 bytes
omni::giopServer::notifyRzNewConnection(omni::giopRendezvouser *  
0x03d6cd00, omni::giopConnection * 0x05892918) line 750
omni::giopRendezvouser::execute() line 90
omniAsyncWorker::real_run() line 184
omniAsyncWorkerInfo::run() line 230
omniAsyncWorker::run(void * 0x00000000) line 134
omni_thread_wrapper(void * 0x03d6cd58) line 502
_threadstartex(void * 0x03d6ce58) line 227 + 13 bytes
KERNEL32! 7c80b50b()

I'm using the main thread to handle all requests because Elk Scheme is 
very picky about having the main thread and only the main thread run 
through it. Anyway it's on its way out, but not before I have to solve 
this problem.

I have a hunch that this has something to do with the way I shut down 
the orb. So I will elaborate on how I handle that. The client will 
always initiate the shutdown remotely. I am using CORBA, for right now, 
in a situation where there is always one client per server. The client 
starts the server and the client shuts the server down when it is done. 
Sessions can be pretty long-lived in practice.

So the client triggers the shutdown. Eventually on the server side I write:

orb_->shutdown(false)

Basically I want the client to get a valid return value from its call to 
"serverExit()".

Sadly, it is likely I leave active servants lying around. Not too many 
though, if that's any consolation. I'm not sure this would be a problem, 
but I'm throwing out the information just in case.

I'm planning on upgrading to 4.0.6 in the morning to see if that helps, 
but I'm still curious about this problem. I don't feel like upgrading 
will fix this issue either. I suppose it's just a gut feeling that tells 
me so. I could never be so lucky anyway! :)

Does anyone have an idea of what might be going wrong here?

Thanks in advance for any help.

-Craig.

-- 
| Craig W. Wright
| Software Engineer
| craig.wright at cometsolutions.com
|
| CoMeT Solutions, Inc.
| 11811 Menaul NE, #1
| Albuquerque, NM 87110 USA
| (505) 323-2525






More information about the omniORB-list mailing list