I am running a local WAS 7.0 server for development purposes. My Machine is Win 7 and I am using Java 1.6. Specific version of WAS is:
IBM WebSphere Application Server, 7.0.0.25
Build Number: cf251235.04
Build Date: 8/30/12
The Eclipse version I'm using is
Eclipse Java EE IDE for Web Developers
Version: Juno Service Release 2
Build id: 20130225-0426
And the WebSphere Application Server 7.0 Eclipse Plug-in
com.ibm.websphere.v7.core (7.0.101.v20121205_2240) "WebSphere Application Server v7.0 Core Runtime Jars" [Active]
The problem that I have is every 2 minutes or so I get the following warning printed to my SystemOut.log file:
[9/17/13 16:54:47:812 CDT] 00000025 AlarmThreadMo W UTLS0008W: The return of alarm thread "Non-deferrable Alarm : 2" (0000001f) to the alarm thread pool has been delayed for 40106 milliseconds. This may be preventing normal alarm function within the application server. The alarm listener stack trace is as follows:
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:196)
at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:334)
at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:218)
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:215)
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:182)
at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:111)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext.read(SSLReadServiceContext.java:265)
at com.ibm.ws.management.connector.ipc.ClientAccessor.clientReadMoreData(ClientAccessor.java:264)
at com.ibm.ws.management.connector.ipc.ClientAccessor.request(ClientAccessor.java:169)
at com.ibm.ws.management.connector.ipc.IPCConnectorClient.sendReceive(IPCConnectorClient.java:452)
at com.ibm.ws.management.connector.ipc.IPCConnectorClient.pullNotifications(IPCConnectorClient.java:2167)
at com.ibm.ws.management.event.PullRemoteReceiver.getNotifications(PullRemoteReceiver.java:222)
at com.ibm.ws.management.event.PullRemoteReceiver.alarm(PullRemoteReceiver.java:183)
at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:133)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646).
[9/17/13 16:56:07:712 CDT] 0000001f AlarmThreadMo W UTLS0009W: Alarm Thread "Non-deferrable Alarm : 2" (0000001f) previously reported to be delayed has now completed. It was active for approximately 120007 milliseconds.
This happens consistently; as in I get the 'delayed' warning then 2 minutes later I get the 'completed' warning. Then about 60 seconds pass and I get the 'delayed' warning again followed again by 'completed' warning after about 2 minutes... Ad infinitum.
Apart from being ridiculously annoying; everything seems to be functioning fine... I am able to publish/start/stop the server. My application runs normally.
I just want this warning to stop filling up my SystemOut.log... any suggestions?
P.S. I do have the following set as my 'Generic JVM arguments' in my server definition:
-Xquickstart -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000 -Dlog4j.debug-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:/temp
The thought there being that setting '-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000' should increase the warning threshold to 140,000 ms instead of the default of 40,000 ms (found that out from here)
Turns out I had a typo in my JVM args with respect to the com.ibm.websphere.alarmthreadmonitor.threshold.millis
property.
Adding -Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis=140000
to my JVM args suppresses the warning successfully.