java.io.IOException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • ORA-08177 when updating BLOB via JDBC
    via by 451916,
  • org.hibernate.test.lob.LobMergeTest.testMergingBlobData entity persist in first commit passes but merge changes in second commit fails Stacktrace: {quote} org.hibernate.exception.JDBCConnectionException: could not execute statement at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:131) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:128) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3215) at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3117) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3446) at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:140) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:276) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) at org.hibernate.test.lob.LobMergeTest.testMergingBlobData(LobMergeTest.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:63) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:62) Caused by: java.sql.SQLRecoverableException: Io exception: No more data to read from socket at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:969) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3468) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:125) ... 27 more Caused by: java.io.IOException: No more data to read from socket at oracle.jdbc.driver.DatabaseError.SQLToIOException(DatabaseError.java:814) at oracle.jdbc.driver.OracleBlobInputStream.needBytes(OracleBlobInputStream.java:197) at oracle.jdbc.driver.OracleBufferedStream.readInternal(OracleBufferedStream.java:159) at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:133) at oracle.jdbc.driver.OracleConversionInputStream.needBytesFromStream(OracleConversionInputStream.java:321) at oracle.jdbc.driver.OracleConversionInputStream.needBytes(OracleConversionInputStream.java:200) at oracle.jdbc.driver.OracleBufferedStream.readInternal(OracleBufferedStream.java:159) at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:133) at oracle.jdbc.driver.T4CTTIrxd.marshal(T4CTTIrxd.java:773) at oracle.jdbc.driver.T4C8Oall.marshalBinds(T4C8Oall.java:1794) at oracle.jdbc.driver.T4C8Oall.marshalAll(T4C8Oall.java:1251) at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:542) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:180) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953) ... 32 more {quote} Output: {noformat} ... 07:00:58,803 DEBUG SQL:104 - select max(ID) from LOB_ENTITY 07:00:58,807 DEBUG SQL:104 - insert into LOB_ENTITY (CLOB_DATA, BLOB_DATA, ID) values (?, ?, ?) 07:00:58,837 DEBUG SQL:104 - select lobholder0_.ID as ID0_0_, lobholder0_.CLOB_DATA as CLOB2_0_0_, lobholder0_.BLOB_DATA as BLOB3_0_0_ from LOB_ENTITY lobholder0_ where lobholder0_.ID=? 07:00:58,857 DEBUG SQL:104 - update LOB_ENTITY set CLOB_DATA=?, BLOB_DATA=? where ID=? 07:01:01,342 WARN SqlExceptionHelper:143 - SQL Error: 17002, SQLState: 08006 07:01:01,342 ERROR SqlExceptionHelper:144 - Io exception: No more data to read from socket 07:01:01,342 WARN SqlExceptionHelper:143 - SQL Error: 17008, SQLState: 99999 07:01:01,342 ERROR SqlExceptionHelper:144 - Closed Connection 07:01:01,343 INFO SchemaExport:343 - HHH000227: Running hbm2ddl schema export ... {noformat}
    via by Martin Šimka,
  • org.hibernate.test.lob.LobMergeTest.testMergingBlobData entity persist in first commit passes but merge changes in second commit fails Stacktrace: {quote} org.hibernate.exception.JDBCConnectionException: could not execute statement at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:131) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:128) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3215) at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3117) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3446) at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:140) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:276) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) at org.hibernate.test.lob.LobMergeTest.testMergingBlobData(LobMergeTest.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:63) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:62) Caused by: java.sql.SQLRecoverableException: Io exception: No more data to read from socket at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:969) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3468) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:125) ... 27 more Caused by: java.io.IOException: No more data to read from socket at oracle.jdbc.driver.DatabaseError.SQLToIOException(DatabaseError.java:814) at oracle.jdbc.driver.OracleBlobInputStream.needBytes(OracleBlobInputStream.java:197) at oracle.jdbc.driver.OracleBufferedStream.readInternal(OracleBufferedStream.java:159) at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:133) at oracle.jdbc.driver.OracleConversionInputStream.needBytesFromStream(OracleConversionInputStream.java:321) at oracle.jdbc.driver.OracleConversionInputStream.needBytes(OracleConversionInputStream.java:200) at oracle.jdbc.driver.OracleBufferedStream.readInternal(OracleBufferedStream.java:159) at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.java:133) at oracle.jdbc.driver.T4CTTIrxd.marshal(T4CTTIrxd.java:773) at oracle.jdbc.driver.T4C8Oall.marshalBinds(T4C8Oall.java:1794) at oracle.jdbc.driver.T4C8Oall.marshalAll(T4C8Oall.java:1251) at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:542) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:180) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953) ... 32 more {quote} Output: {noformat} ... 07:00:58,803 DEBUG SQL:104 - select max(ID) from LOB_ENTITY 07:00:58,807 DEBUG SQL:104 - insert into LOB_ENTITY (CLOB_DATA, BLOB_DATA, ID) values (?, ?, ?) 07:00:58,837 DEBUG SQL:104 - select lobholder0_.ID as ID0_0_, lobholder0_.CLOB_DATA as CLOB2_0_0_, lobholder0_.BLOB_DATA as BLOB3_0_0_ from LOB_ENTITY lobholder0_ where lobholder0_.ID=? 07:00:58,857 DEBUG SQL:104 - update LOB_ENTITY set CLOB_DATA=?, BLOB_DATA=? where ID=? 07:01:01,342 WARN SqlExceptionHelper:143 - SQL Error: 17002, SQLState: 08006 07:01:01,342 ERROR SqlExceptionHelper:144 - Io exception: No more data to read from socket 07:01:01,342 WARN SqlExceptionHelper:143 - SQL Error: 17008, SQLState: 99999 07:01:01,342 ERROR SqlExceptionHelper:144 - Closed Connection 07:01:01,343 INFO SchemaExport:343 - HHH000227: Running hbm2ddl schema export ... {noformat}
    via by Martin Šimka,
    • java.io.IOException: ORA-08177: can't serialize access for this transaction at oracle.jdbc.driver.DatabaseError.SQLToIOException(DatabaseError.java:804) at oracle.jdbc.driver.OracleBlobOutputStream.flushBuffer(OracleBlobOutputStream.java:298) at oracle.jdbc.driver.OracleBlobOutputStream.flush(OracleBlobOutputStream.java:243)

    Users with the same issue

    Unknown visitor1 times, last one,