Hi, I haven't been able to get this problem to occur with a straightforward reproducible setup. So I'm starting to suspect something's wrong with my component programming, which somehow is filling up a queue when it shouldn't.
If I ever do get a reproducible scenario I will file a JIRA. John Hurst Wellington, New Zealand -----Original Message----- From: Rob Davies [mailto:[EMAIL PROTECTED] Sent: Friday, 11 November 2005 02:03 To: [email protected] Subject: Re: [servicemix-user] Deadlock with bounded queue John, could you get a stack trace of this issue when it happens and attach it as well ? cheers, Rob On 10 Nov 2005, at 07:57, John Hurst wrote: > OK, > > I'll raise a JIRA when I get back to work in the morning and have the > details. (Our hours are a bit different to most of you guys'.) > > John Hurst > >> -----Original Message----- >> From: Rob Davies [mailto:[EMAIL PROTECTED] >> Sent: Thursday, 10 November 2005 19:59 >> To: [email protected] >> Subject: Re: [servicemix-user] Deadlock with bounded queue >> >> Hi John, >> >> please raise a jira issue - then we can all track progress on this >> etc. >> I'll have a look at this asap. >> >> cheers, >> >> Rob >> On 9 Nov 2005, at 23:56, HURST, John B wrote: >> >> >> >> >> Hi, >> >> >> >> A couple of times I've experienced deadlocks with ServiceMix due to >> bounded queues becoming full. The most recent case was today, >> using ST >> flow. It's easy to see how ST flow might be susceptible to this, >> but I >> believe I've had it with SEDA also. (Perhaps with a different >> queue/cause.) >> >> >> >> In the case today I diagnosed it by examining the stack traces of >> threads using JMX (jconsole) after ServiceMix had hung. I found >> that seven >> threads are BLOCKED on synchronized (putGuard_) in >> BoundedLinkedQueue#put(), while one thread is stuck inside the method >> waiting for reconcilePutPermits() to return true. >> >> >> >> My test case involves a FTPPoller receiving 1,100 files, passing >> them through to a XLST routing component, which passes them on to an >> HTTPInvoker component. (Actually both the FTPPoller and >> HTTPInvoker are >> local customizations and I'm using a couple of customized marshallers >> too.) I realise 1,100 files is quite a lot to receive at once via >> FTP. >> However, I increased the default capacity of BoundedLinkedQueue (from >> 1,024 to 10,240, as an experiment) and things seemed to work OK. I >> don't >> really expect to have 1,100 files at once in real life, but in our >> scenario we will receive a couple hundred at once sometimes, so I >> thought >> this was a good test. >> >> >> >> Should I raise a JIRA for this, or am I doing something stupid? >> >> >> >> I have saved the stack traces. >> >> >> >> BTW I'm using ServiceMix 2.0, built from source. >> >> >> >> John Hurst >> >> Wellington, New Zealand >> >> >> >> >> ____________________________________________________________________ >> __ >> This email has been scanned by the MessageLabs Email Security >> System. >> For more information please visit http://www.messagelabs.com/email >> ____________________________________________________________________ >> __ >> >> > ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________
