Article - CS329590
Method Server log reports "java.sql.SQLRecoverableException: IO Error: Socket read interrupted" in Windchill PDMLink
Modified: 31-Oct-2024
Applies To
- Windchill PDMLink 11.0 to 11.1
Description
- Some requests like checkin/checkout/task reassign with error: "java.io.InterruptedIOException: Socket read interrupted"
- Background Method Server logs reports error below
Nested exception is: wt.pom.ConnectionLostException: A database connection failure has occurred and the operation has been aborted. Nested exception is: wt.pom.DatastoreException: A SQL error has occurred for the statement "XXXXXX" Nested exception is: java.sql.SQLRecoverableException: IO Error: Socket read interrupted at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:950) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:950) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1099) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640) at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3687) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540) at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:282) at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:234) at wt.pds.BasicResultCursor.next(BasicResultCursor.java:82) at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:760) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1977) at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1929) at java.lang.reflect.Method.invoke(Method.java:498) at wt.queue.QueueEntry.execute(QueueEntry.java:231) at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:312) at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:898) at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99) Caused by: java.io.InterruptedIOException: Socket read interrupted at oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:262) at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:184) at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:544) at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:234) at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:174) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:122) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:100) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:86) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:762) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:427) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:394) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:928) ... 93 more
- If the queue was stopped there will be a warning:
2022-04-06 11:17:15,558 WARN [QueueCheckerThread-37] wt.jmx.notif.queue - Time=2022-04-06 11:17:15.556 -0400, Name=QueueNotifier, SourceObjectName=com.ptc:wt.subsystem=Monitors,wt.monitorType=Queues,Name=WfPropagationQueue, class=class javax.management.Notification, type=wt.queue.QueueWatcherMBean.queueStopped, userData=WfPropagationQueue, message=Queue WfPropagationQueue has been stopped, JVM Name=26503@<hostname>, Queue Info=[AveEntryExecTimeSeconds=0.0,EntryExecutionTimeThresholdSec=70,ExecutionThreadLoggerLevel=,ExecutionThreadLoggerName=,LoggerLevel=,LoggerName=wt.queue.QueueWatcherImpl.WfPropagationQueue,MaxEntryExecTimeSeconds=0.0,MinEntryExecTimeSeconds=0.0,MinMinutesBetweenNotifications=60,Name=WfPropagationQueue,TotalEntries=25,TotalEntriesExecuted=0,TotalExecutionTime=0,TotalThreshold=100,WaitingReadyEntries=0,WaitingReadyThreshold=15]
This is a printer-friendly version of Article 329590 and may be out of date. For the latest version click CS329590