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