You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2008/12/04 12:59:44 UTC
[jira] Updated: (HTTPCORE-155) Performance issues with IBM JRE 6.0
[ https://issues.apache.org/jira/browse/HTTPCORE-155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asankha C. Perera updated HTTPCORE-155:
---------------------------------------
Attachment: javacore.20081203.153723.32300.0001.txt
I am seeing a deadlock with the IBM JDK with Apache Synapse, which leads to very low performance. This is not seen with the Sun JDK of the same version.
1LKDEADLOCK Deadlock detected !!!
NULL ---------------------
NULL
2LKDEADLOCKTHR Thread "http-Listener I/O dispatcher-1" (0x0000000000765600)
3LKDEADLOCKWTR is waiting for:
4LKDEADLOCKMON sys_mon_t:0x00007F5B9CF59490 infl_mon_t: 0x00007F5B9CF59510:
4LKDEADLOCKOBJ sun/nio/ch/SelectionKeyImpl@00007F5BA4D11160/00007F5BA4D11178:
3LKDEADLOCKOWN which is owned by:
2LKDEADLOCKTHR Thread "HttpClientWorker-4" (0x00007F5B9CF21100)
3LKDEADLOCKWTR which is waiting for:
4LKDEADLOCKMON sys_mon_t:0x0000000000D0D668 infl_mon_t: 0x0000000000D0D6E8:
4LKDEADLOCKOBJ java/util/Collections$UnmodifiableSet@00007F5BA41A1BB0/00007F5BA41A1BC8:
3LKDEADLOCKOWN which is owned by:
2LKDEADLOCKTHR Thread "http-Listener I/O dispatcher-1" (0x0000000000765600)
NULL
> Performance issues with IBM JRE 6.0
> -----------------------------------
>
> Key: HTTPCORE-155
> URL: https://issues.apache.org/jira/browse/HTTPCORE-155
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore NIO
> Affects Versions: 4.0-beta1
> Environment: Windows 2003 SP2 - IBM J2RE 1.6.0 build 2.4 - HTTPCore Beta1 - Dual Core CPU 3.0Ghz - 1Gbps networking
> Reporter: Tom McSorley
> Fix For: 4.0-rc1
>
> Attachments: javacore.20081203.153723.32300.0001.txt
>
>
> I'm issuing a second HTTP Request on a connection that has very recently returned a null for the submitRequest() call... this 2nd request is being issued approximately 500ms after the submitRequest() null is returned... so the connection has just been established, an HTTP Request/Response-200 cycle has completed just prior to this 2nd request being issued. I'm seeing unusually long delays in the requestOutput() call (verified by surrounding timing prints)... that can range anywhere from a few milliseconds on up to 60 seconds... It eventually unwinds, and then the submitRequest() is called... this 2nd request is dispatched and works fine... but, it is delayed considerably... Is this a known issue and is there a possible work-around?
> Here's the JVM related thread information:
> The thread being delayed and stuck in the requestOutput() call for a long time (mostly longer than 5 seconds):
> 3XMTHREADINFO "pool-2-thread-5" TID:0x2AEECE00, j9thread_t:0x2A7189A8, state:B, prio=5
> 3XMTHREADINFO1 (native thread ID:0x1B44, native priority:0x5, native policy:UNKNOWN)
> 4XESTACKTRACE at sun/nio/ch/SelectionKeyImpl.interestOps(SelectionKeyImpl.java:60)
> 4XESTACKTRACE at org/apache/http/impl/nio/reactor/IOSessionImpl.setEvent(IOSessionImpl.java:113)
> 4XESTACKTRACE at org/apache/http/impl/nio/NHttpConnectionBase.requestOutput(NHttpConnectionBase.java:158)
> .... (non important stack information removed)
> 4XESTACKTRACE at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
> 4XESTACKTRACE at java/lang/Thread.run(Thread.java:735)
> Here's the monitor that this thread is blocked and waiting on:
> 2LKMONINUSE sys_mon_t:0x2A708AF8 infl_mon_t: 0x2A708B30:
> 3LKMONOBJECT sun/nio/ch/Util$1@00B09208/00B09214: Flat locked by "I/O dispatcher 7" (0x2A208E00), entry count 1
> 3LKWAITERQ Waiting to enter:
> 3LKWAITER "pool-2-thread-5" (0x2AEECE00)
> And here's the thread that currently has this monitor locked:
> 3XMTHREADINFO "I/O dispatcher 7" TID:0x2A208E00, j9thread_t:0x2A6EC73C, state:R, prio=5
> 3XMTHREADINFO1 (native thread ID:0x830, native priority:0x5, native policy:UNKNOWN)
> 4XESTACKTRACE at sun/nio/ch/WindowsSelectorImpl$SubSelector.poll0(Native Method)
> 4XESTACKTRACE at sun/nio/ch/WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:308(Compiled Code))
> 4XESTACKTRACE at sun/nio/ch/WindowsSelectorImpl$SubSelector.access$500(WindowsSelectorImpl.java(Compiled Code))
> 4XESTACKTRACE at sun/nio/ch/WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:162(Compiled Code))
> 4XESTACKTRACE at sun/nio/ch/SelectorImpl.lockAndDoSelect(SelectorImpl.java:69(Compiled Code))
> 4XESTACKTRACE at sun/nio/ch/SelectorImpl.select(SelectorImpl.java:80(Compiled Code))
> 4XESTACKTRACE at org/apache/http/impl/nio/reactor/AbstractIOReactor.execute(AbstractIOReactor.java:121)
> 4XESTACKTRACE at org/apache/http/impl/nio/reactor/BaseIOReactor.execute(BaseIOReactor.java:70)
> 4XESTACKTRACE at org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:318)
> 4XESTACKTRACE at java/lang/Thread.run(Thread.java:735)
> I should also note that we're attempting to use 1000 client instances on this single system... each with potentially 2 active connections simultaneously... there is also virtually no CPU load (i.e. less then 5%) on this system...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org