java - 从套接字读取时线程挂起。它与 https ://bugs. openjdk.java.net/browse/JDK-8049846 有关吗?

标签 java sockets java-8

jdk 中似乎存在错误,并已在更新版本中修复,如 link .

我如何确定这是同一个问题,一旦我更新 jdk 就会解决问题。

目前我们使用的是jdk1.8_25,jdk1.8_144中是否已修复?

下面是堆栈跟踪(线程转储)

ajp-bio-8010-exec-4225" prio=5 tid=0x123964 nid=0x1e43c RUNNABLE (JNI Native Code) - stats: cpu=13562 blk=-1 wait=-1
 java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at oracle.net.ns.Packet.receive(Packet.java:283)
    at oracle.net.ns.DataPacket.receive(DataPacket.java:103)
    at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1122)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3657)
     - locked oracle.jdbc.driver.T4CConnection@448fbe18

最佳答案

这个问题早在 jdk9 中就已得到修复,并且也移植到了 jdk8。请从http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载最新的jdk8

关于java - 从套接字读取时线程挂起。它与 https ://bugs. openjdk.java.net/browse/JDK-8049846 有关吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46556741/

相关文章:

java - 搜索 Activity 中带有 ProgressBar 的无尽 RecyclerView

Java 共享地址空间和消息传递并行编程范例

c - 套接字编程 - 序列化

java - 在 JRE 8 中使用 JavaFX, “Access restriction” 错误

string - 如何在 Java 8 中使用 Map Put 操作编写字符串迭代?

java - SimpleDateFormat.parse() 未使用正确的日期格式

java - html5 : Write content to a page without refreshing

c - Unix 域流套接字中数据缓冲区的大小

windows - WIndows 7 上的高频数据监听器 TCP 过载

java - 在流中添加 MathContext