Blocs de fil de bizzare créant des tableaux primitifs
-
11-11-2019 - |
Question
Nous avons récemment eu une situation où une machine de production est tombée avec un dépotoir massif. C'est un serveur Web de résine, et il a donné le «VM Full Dump Java Hotspot (TM) 64 bits (Mode mixte 14.0-b16):».
Il y a une tonne de fils bloqués, mais ils me confondaient. C'est-à-dire que l'un est comme:
"resin-8576" daemon prio=10 tid=0x00007f871827b800 nid=0x6b5 waiting for monitor entry [0x00007f864a7e6000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.String.toCharArray(String.java:2725)
at java.lang.Thread.setName(Thread.java:1051)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:605)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:619)
Le code là-bas est
char result[] = new char[count];
Un autre est comme
"resin-8574" daemon prio=10 tid=0x00007f8718277800 nid=0x6b3 waiting for monitor entry [0x00007f864a9e8000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.String.valueOf(String.java:2840)
at java.lang.Thread.getName(Thread.java:1061)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:603)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:619)
Où le code de chaîne y est
return new String(data);
Celles-ci semblent être des endroits étranges à bloquer.
Quelqu'un pourrait-il suggérer une raison pour laquelle ces appels bloqueraient?
Merci, -kal
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow