[omniORB] Server Shutdown on multi-processor machines
Sharma, Ramesh
ramesh.sharma at intel.com
Fri Mar 26 17:51:45 GMT 2004
It seems almost impossible for me to move to gcc3.2 for my server, i
there is a work around (even if it is dirty one) which can be used to
fix the mult-threading problem on multiprocessor machines using
gcc-2.95.3.
-----Original Message-----
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of Serguei
Kolos
Sent: Friday, March 26, 2004 2:02 AM
To: omniorb-list at omniorb-support.com
Subject: Re: [omniORB] Server Shutdown on multi-processor machines
Hi
I have similar problem using gcc-2.95.2.
With gcc3.2 this never happens independently of which machine
I'm using, i.e. single processor or dual.
Cheers,
Sergei
Sharma, Ramesh wrote:
I looked into it little further and seems like the problem is while
destroying the omni_mutex
++++++++++++++++++++++ posix.cc ++++++
omni_mutex::~omni_mutex(void)
{
THROW_ERRORS(pthread_mutex_destroy(&posix_mutex));
}
++++++++++++++++
Looks like signal is raised from here and my signal handler catches it
and reports that as failure. Looks like some weird problem in
multithreaded environment. Any suggestions on getting around it will be
really appreciated.
Thanks,
Ramesh
-----Original Message-----
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of Sharma,
Ramesh
Sent: Thursday, March 25, 2004 3:20 PM
To: omniorb-list at omniorb-support.com
Subject: [omniORB] Server Shutdown on multi-processor machines
Hi,
I am having following problem with CORBA 4.0.3 on Red-hat linux 7.1
(client is compiled using gcc3.2 and server is compiled using gcc2.95.3
due to some avoidable reasons).
1. Things work fine on a machine which is single processor.
2. Things don't work on multiprocessors machines. I get a SIGSEGV
while shutting down server. Below is the segment of the trace I got
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
0000 0000 0000 0000 ........
omniORB: POA(child) etherealising object root/child<0> (deactivating).
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef(IDL:BlastSim/FaultSimFactory:1.0) -- deleted.
omniORB: Preparing to shutdown ORB.
omniORB: Destroying POA(RootPOA).
omniORB: Destroying POA(child).
omniORB: Deactivating all POA(child)'s objects.
omniORB: Waiting for requests to complete on POA(child).
omniORB: Requests on POA(child) completed.
omniORB: Etherealising POA(child)'s objects.
omniORB: Destruction of POA(child) complete.
omniORB: Deactivating all POA(RootPOA)'s objects.
omniORB: Waiting for requests to complete on POA(RootPOA).
omniORB: Requests on POA(RootPOA) completed.
omniORB: Etherealising POA(RootPOA)'s objects.
omniORB: Stopping serving incoming endpoints.
omniORB: throw giopStream::CommFailure from
giopStream.cc:828(0,NO,COMM_FAILURE_UnMarshalArguments)
omniORB: giopServer waits for completion of rendezvousers and workers
User time = 0:00:00(0) System time = 0:00:00(0) Memory usage =
4.18MDefault signal handler received SIGSEGV
Same exception gets thrown on both machines but on single processor
machine the exception gets handled and server shuts down gracefully. I
am not sure why on multi-processor machines it is behaving differently.
Is it the compiler version which might be making difference?
Has anybody something like this?
Ramesh
_____
_______________________________________________
omniORB-list mailing list
omniORB-list at omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20040326/20acc846/attachment.htm
More information about the omniORB-list
mailing list