Archived

This forum has been archived. Please start a new discussion on GitHub.

All of my thread blocked at Ice.Logger , anyone can help me? We use ICE 3.6.

Ice config "Ice.Trace.Network" used to be 3. If I change this property to 0, will this problem avoid?
Java application stack as follow.

"Ice.ThreadPool.Server-125" prio=10 tid=0x00007f98c0001000 nid=0xde1d waiting for monitor entry [0x00007f9994ac9000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.PrintStream.write(PrintStream.java:523)
- waiting to lock <0x00007fa2dede2360> (a java.io.PrintStream)
at java.io.PrintStream.print(PrintStream.java:669)
at Ice.LoggerI.write(LoggerI.java:141)
at Ice.LoggerI.trace(LoggerI.java:67)
at Ice.ConnectionI.write(ConnectionI.java:2862)
at Ice.ConnectionI.sendMessage(ConnectionI.java:2238)
at Ice.ConnectionI.sendResponse(ConnectionI.java:648)
- locked <0x00007fa9c08adac8> (a Ice.ConnectionI)
at IceInternal.IncomingAsync.__response(IncomingAsync.java:122)
at com.boco.scenemonitor.generated.statistics.svc._AMD_IStatisticsService_queryAlarmStatIncrement.ice_response(_AMD_IStatisticsService_queryAlarmStatIncrement.java:45)
at com.boco.xdpp.ice.statistics.StatisticsServiceDispImpl.queryAlarmStatIncrement_async(StatisticsServiceDispImpl.java:930)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.___queryAlarmStatIncrement(_IStatisticsServiceDisp.java:974)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.__dispatch(_IStatisticsServiceDisp.java:1912)
at IceInternal.Incoming.invoke(Incoming.java:221)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
at Ice.ConnectionI.message(ConnectionI.java:1056)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:722)

"Ice.ThreadPool.Server-110" prio=10 tid=0x00007f98f4001000 nid=0xde0e waiting for monitor entry [0x00007f99959d8000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.PrintStream.write(PrintStream.java:523)
- waiting to lock <0x00007fa2dede2360> (a java.io.PrintStream)
at java.io.PrintStream.print(PrintStream.java:669)
at Ice.LoggerI.write(LoggerI.java:141)
at Ice.LoggerI.trace(LoggerI.java:67)
at Ice.ConnectionI.write(ConnectionI.java:2862)
at Ice.ConnectionI.sendMessage(ConnectionI.java:2238)
at Ice.ConnectionI.sendResponse(ConnectionI.java:648)
- locked <0x00007fa9c19d9328> (a Ice.ConnectionI)
at IceInternal.IncomingAsync.__response(IncomingAsync.java:122)
at com.boco.scenemonitor.generated.statistics.svc._AMD_IStatisticsService_getLastStatItemsIncrement.ice_response(_AMD_IStatisticsService_getLastStatItemsIncrement.java:45)
at com.boco.xdpp.ice.statistics.StatisticsServiceDispImpl.getLastStatItemsIncrement_async(StatisticsServiceDispImpl.java:851)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.___getLastStatItemsIncrement(_IStatisticsServiceDisp.java:790)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.__dispatch(_IStatisticsServiceDisp.java:1840)
at IceInternal.Incoming.invoke(Incoming.java:221)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
at Ice.ConnectionI.message(ConnectionI.java:1056)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:722)

"Ice.ThreadPool.Server-108" prio=10 tid=0x00007f98fc001000 nid=0xde0c waiting for monitor entry [0x00007f9995bda000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.PrintStream.write(PrintStream.java:523)
- waiting to lock <0x00007fa2dede2360> (a java.io.PrintStream)
at java.io.PrintStream.print(PrintStream.java:669)
at Ice.LoggerI.write(LoggerI.java:141)
at Ice.LoggerI.trace(LoggerI.java:67)
at Ice.ConnectionI.write(ConnectionI.java:2862)
at Ice.ConnectionI.sendMessage(ConnectionI.java:2238)
at Ice.ConnectionI.sendResponse(ConnectionI.java:648)
- locked <0x00007fa9c211d768> (a Ice.ConnectionI)
at IceInternal.IncomingAsync.__response(IncomingAsync.java:122)
at com.boco.scenemonitor.generated.statistics.svc._AMD_IStatisticsService_queryAlarmStatIncrement.ice_response(_AMD_IStatisticsService_queryAlarmStatIncrement.java:45)
at com.boco.xdpp.ice.statistics.StatisticsServiceDispImpl.queryAlarmStatIncrement_async(StatisticsServiceDispImpl.java:930)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.___queryAlarmStatIncrement(_IStatisticsServiceDisp.java:974)
at com.boco.scenemonitor.generated.statistics.svc._IStatisticsServiceDisp.__dispatch(_IStatisticsServiceDisp.java:1912)
at IceInternal.Incoming.invoke(Incoming.java:221)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
at Ice.ConnectionI.message(ConnectionI.java:1056)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:722)


"Ice.ThreadPool.Server-100" prio=10 tid=0x00007f99b8083800 nid=0x8589 runnable [0x00007f99970ef000]
java.lang.Thread.State: RUNNABLE
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:318)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
- locked <0x00007fa2dee113b8> (a java.io.BufferedOutputStream)
at java.io.PrintStream.write(PrintStream.java:480)
- locked <0x00007fa2dede2360> (a java.io.PrintStream)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
- locked <0x00007fa2dab02418> (a java.io.OutputStreamWriter)
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
at java.io.PrintStream.write(PrintStream.java:527)
- locked <0x00007fa2dede2360> (a java.io.PrintStream)
at java.io.PrintStream.print(PrintStream.java:669)
at Ice.LoggerI.write(LoggerI.java:141)
at Ice.LoggerI.trace(LoggerI.java:67)
at Ice.ConnectionI.read(ConnectionI.java:2840)
at Ice.ConnectionI.message(ConnectionI.java:844)
- locked <0x00007fa9c0d2d8f8> (a Ice.ConnectionI)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:722)

Comments

  • benoit
    benoit Rennes, France
    Hi,

    What is the standard error/output attached to for your Java process?

    Yes, it's likely that turning off the tracing would prevent this problem from occurring but it would be best to ensure that writes on the standard output/error don't block.

    Cheers,
    Benoit.