RE: FW: Problem with blocking in sendReceiveTimeout

Henrik Nørgaard <[email protected]>
Newsgroups gmane.comp.corba.orbacus
Message-ID <DFDC05B2B97D4F4590579C75AFB364C7220FCB@marathon.intra.realtime.dk>
Hi Dion.

I don't think that the server is blocked - though I am not sure. The dumps I have, I get from our production environment when the system is very busy and I only have dumps from the client side.

Do you know if the mutex used by the client is a static or an instance mutex? If it is an instance mutex, it might help to have more than one server object in a 'server pool'.

 -----Original Message-----
From: 	Dion Picco [mailto:[email protected]] 
Sent:	23. december 2004 16:26
To:	Henrik Nørgaard
Cc:	[email protected]
Subject:	Re: [OB-Users] FW: Problem with blocking in sendReceiveTimeout

Hi Henrik,

On Wed, Dec 15, 2004 at 09:12:23AM +0100, Henrik Nørgaard wrote:
> If you have already received this email, I am sorry for the inconvinience. 
> I just can see my attempted posting in the archive...
> 
> Med venlig hilsen / Kind Regards, 
>  
> Henrik Hald Nørgaard
> Udvikler
>   
> Livjægergade 17A
> DK-2100 Copenhagen Ø
>  
> E-mail:  [email protected]
> Mobile: +45 2949 2838
> Phone: +45 3370 1421
> Fax: +45 7027 2760
> www.realtime.dk 
>  
> >  -----Original Message-----
> > From: 	Henrik Nørgaard  
> > Sent:	14. december 2004 12:01
> > To:	'[email protected]'
> > Subject:	Problem with blocking in sendReceiveTimeout
> > 
> > Hi Corba-experts.
> > 
> > I have a problem with a Corba-server, that tends to block as shown in 
> > the following stacktrace:
> > 
> > "Thread-38326" daemon prio=5 tid=0x02d57e58 nid=0x4d76 waiting for 
> > monitor entry [8e9d1000..8e9d19c8]
> >         at com.ooc.CORBA.GIOPClientWorkerBlocking.sendReceiveTimeout(
> > GIOPClientWorkerBlocking.java:62)
> >         - waiting to lock <0xa1b9cc40> (a com.ooc.CORBA.
> > GIOPClientWorkerBlocking)
> >         at com.ooc.CORBA.GIOPClient.request(GIOPClient.java:293)
> >         at com.ooc.CORBA.Request.invoke(Request.java:275)
> >         at com.ooc.CORBA.Delegate.non_existent(Delegate.java:231)
> >         at org.omg.CORBA.portable.ObjectImpl._non_existent(
> > ObjectImpl.java:74)
> >         at dk.realtime.duckling.backend.ServerHelper$ServerRunner.run(
> > ServerHelper.java:108)
> >         at java.lang.Thread.run(Thread.java:534)
> > 
> > I call _non_existent to check the server before calling a business-method 
> > on the Corba-object, but when the system is loaded this sometimes takes 
> > much longer than usual (several seconds) and once in a while everything 
> > seems to stop and all threads block in the above method call.
> > 
> > What is the problem? And what can be done to resolve it?
> > 
> > Med venlig hilsen / Kind Regards, 
> >  
> > Henrik Hald Nørgaard
> > Udvikler
> >   
> > Livjægergade 17A
> > DK-2100 Copenhagen Ø
> >  
> > E-mail:  [email protected]
> > Mobile: +45 2949 2838
> > Phone: +45 3370 1421
> > Fax: +45 7027 2760
> > www.realtime.dk 
> >  

What version of Orbacus are you using here?  This stack trace you are
showing here shows a client being blocked when trying to send a
request... more than likely another thread has sent a request and is
awating a reply but keeping the mutex locked.  The important thing here
is to find out if the server received the original request and if it has
sent back a reply... if your clients are blocked (as your stack trace
shows) then its possible that your servers are as well so a stack trace
here could help.  

-- 
Dion Picco, Software Engineer
IONA Technologies Inc.
Team Orbacus - Your CORBA Source
mailto:[email protected]
http://www.orbacus.com


_______________________________________________
OB-Users Mailing List - [email protected]
http://mail.ooc.nf.ca/mailman/listinfo/ob-users
Visit our support FAQ before you send a message.
http://www.orbacus.com/faq/support.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.