orb
orb copied to clipboard
100% load in POAImpl.acquireLock
Glassfish threads can hang in an endless loop. This is cause by a bogus exit condition:
{{ // in acquireLock: do { ... try
{ ... // invokation of a function which detects thread interruption and throws InterruptedException }
catch(InterruptedException exc)
{ interrupted = true; }
if(interrupted) Thread.currentThread().interrupt(); } while(true); }}
If the current thread the InterruptedException is caught but does not break the loop.
=> 100% load for the thread. You can end up with many threads and thus all CPUs at 100%.
suggested fix: don't catch the InterruptedException. Only catch an Exception if you can handle it properly. (here it's not handly properly, catching an InterruptedException to interrupt() again is simply nonsens.)
Environment
any
Affected Versions
[current]
- Issue Imported From: https://github.com/javaee/glassfish-corba/issues/11
- Original Issue Raised By:@glassfishrobot
- Original Issue Assigned To: @russgold
@glassfishrobot Commented Reported by bebbo
@glassfishrobot Commented bebbo said: You can try my patched version and update the glassfish-corba-orb.jar (in modules).
@glassfishrobot Commented File: POAImpl.class Attached By: bebbo
@glassfishrobot Commented Was assigned to hvilekar
@glassfishrobot Commented This issue was imported from java.net JIRA GLASSFISH_CORBA-11