Article - CS257947

Some of the queue entries failed to be executed with error "java.sql.SQLRecoverableException: Closed Connection" in Windchill PDMLink

Modified: 04-Mar-2024   


Applies To

  • Windchill PDMLink 10.0 M030 to 12.0
  • Oracle 11.2.0.4

Description

  • Some of the queue entries, eg dedicated WfPropagationQueue, failed to be executed, while entries of other queues work well
  • It reports the following error in Background MethodServer log:
WfPropagationQueue_########.PollingThread:     at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:877)
WfPropagationQueue_########.PollingThread:     at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
WfPropagationQueue_########.PollingThread: Caused by: wt.workflow.WfException: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows:
WfPropagationQueue_########.PollingThread:     wt.util.WTIOException: A SQL error has occured. Database system message follows:
WfPropagationQueue_########.PollingThread:     java.sql.SQLRecoverableException: Closed Connection
WfPropagationQueue_########.PollingThread: Nested exception is: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows:
WfPropagationQueue_########.PollingThread:     wt.util.WTIOException: A SQL error has occured. Database system message follows:
WfPropagationQueue_########.PollingThread:     java.sql.SQLRecoverableException: Closed Connection
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.StandardWfEngineService.propagateEvent(StandardWfEngineService.java:880)
WfPropagationQueue_########.PollingThread:     ... 7 more
WfPropagationQueue_########.PollingThread: Caused by: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows:
WfPropagationQueue_########.PollingThread:     wt.util.WTIOException: A SQL error has occured. Database system message follows:
WfPropagationQueue_########.PollingThread:     java.sql.SQLRecoverableException: Closed Connection
WfPropagationQueue_########.PollingThread:     at wt.pds.ChunkLobHandler.setObjectAsLob(ChunkLobHandler.java:196)
WfPropagationQueue_########.PollingThread:     at wt.pds.SQLDatabasePds.setObjectAsLob(SQLDatabasePds.java:1192)
WfPropagationQueue_########.PollingThread:     at wt.pds.WTPreparedStatement.postProcessLobs(WTPreparedStatement.java:585)
WfPropagationQueue_########.PollingThread:     at wt.pds.SQLDatabasePds.insertList(SQLDatabasePds.java:2270)
WfPropagationQueue_########.PollingThread:     at wt.pds.SQLDatabasePds.insert(SQLDatabasePds.java:198)
WfPropagationQueue_########.PollingThread:     at wt.pom.PersistentObjectManager.insert(PersistentObjectManager.java:2589)
WfPropagationQueue_########.PollingThread:     at wt.pom.PersistentObjectManager.insert(PersistentObjectManager.java:573)
WfPropagationQueue_########.PollingThread:     at wt.fc.StandardPersistenceManager.insert(StandardPersistenceManager.java:1632)
WfPropagationQueue_########.PollingThread:     at wt.fc.StandardPersistenceManager.store(StandardPersistenceManager.java:1694)
WfPropagationQueue_########.PollingThread:     at wt.fc.StandardPersistenceManager.store(StandardPersistenceManager.java:648)
WfPropagationQueue_########.PollingThread:     at wt.fc.StandardPersistenceManager.save(StandardPersistenceManager.java:641)
WfPropagationQueue_########.PollingThread:     at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
WfPropagationQueue_########.PollingThread:     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
WfPropagationQueue_########.PollingThread:     at java.lang.reflect.Method.invoke(Method.java:597)
WfPropagationQueue_########.PollingThread:     at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
WfPropagationQueue_########.PollingThread:     at com.sun.proxy.$Proxy10.save(Unknown Source)
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.StandardWfEngineService.saveWfNode(StandardWfEngineService.java:7406)
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.StandardWfEngineService.getPersistentNode(StandardWfEngineService.java:2306)
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.ConnectorActivityLink.receiveEvent(ConnectorActivityLink.java:138)
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.WfLink.receiveEventImmediate(WfLink.java:169)
WfPropagationQueue_########.PollingThread:     at wt.workflow.engine.StandardWfEngineService.propagateEvent(StandardWfEngineService.java:854)
WfPropagationQueue_########.PollingThread:     ... 7 more
WfPropagationQueue_########.PollingThread: Caused by: wt.util.WTIOException: A SQL error has occured. Database system message follows:
WfPropagationQueue_########.PollingThread:     java.sql.SQLRecoverableException: Closed Connection
WfPropagationQueue_########.PollingThread:     at wt.pds.oracle81.StandardLobHandler81.write(StandardLobHandler81.java:209)
WfPropagationQueue_########.PollingThread:     at wt.pds.LobOutputStream.writeBytes(LobOutputStream.java:87)
WfPropagationQueue_########.PollingThread:     at wt.pds.LobOutputStream.flushBuffer(LobOutputStream.java:95)
WfPropagationQueue_########.PollingThread:     at wt.pds.LobOutputStream.close(LobOutputStream.java:78)
WfPropagationQueue_########.PollingThread:     at wt.pds.PDSEncoder$OutputRedirector.close(PDSEncoder.java:1110)
WfPropagationQueue_########.PollingThread:     at wt.pds.PDSEncoder$EncodeObjectOutputStream.close(PDSEncoder.java:458)
WfPropagationQueue_########.PollingThread:     at wt.pds.ChunkLobHandler.setObjectAsLob(ChunkLobHandler.java:189)
WfPropagationQueue_########.PollingThread:     ... 27 more
  • Enable the following loggers and get more detailed info:
    • wt.pom.blob
    • wt.pom.connection
    • wt.pom.sql
WfPropagationQueue_########.PoolQueueThread-25: INFO  : wt.pom.sql wcadmin - Insert Statement=INSERT INTO WfExpressionRobot(classnameA2A2,updateCountA2,adSQEN,alertTime,blob$context,changeStateTime,classnamekeycontainerReferen,idA3containerReference,context,dSQEN,deadline,deadlineDuration,description,classnamekeydomainRef,idA3domainRef,endTime,eventConfiguration,eventSet,inheritedDomain,inputVariableMap,wtkey,name,outputVariableMap,parentProcessRefIsNull,classnamekeyparentProcessRef,idA3parentProcessRef,pdSQEN,priority,routerType,securityLabels,startTime,state,suspendTime,templateIsNull,classnamekeyA5,idA3A5,markForDeleteA2,timeToStart,tripCount,userEventList,updateStampA2,createStampA2,modifyStampA2,idA2A2) VALUES ('wt.workflow.robots.WfExpressionRobot',1,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,wtkey_seq.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);Bind Parameters=[0, 0, oracle.sql.BLOB@2042664f, 0, wt.pdmlink.PDMLinkProduct, 180353642, <BLOB>, 0, null, 0, null, wt.admin.AdministrativeDomain, 180353643, null, 4563418794, null, false, primaryBusinessObject,primaryBusinessObject, Initiate Process Variables, primaryBusinessObject,primaryBusinessObject, false, wt.workflow.engine.WfProcess, 22873046029, 0, 1, NONE, null, null, OPEN_NOT_RUNNING_NOT_STARTED, 0, false, wt.workflow.definer.WfExprRobotTemplate, 19652822701, 0, null, 0, [], 2017-03-03 09:04:36.0, 2017-03-03 09:04:36.0, 2017-03-03 09:04:36.0, 22883752441]
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter findLocator(WTConnection,LobLocator) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, wt.fc.LobLocator@674add14
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter _findLocator(WTConnection,LobLocator) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, wt.fc.LobLocator@674add14
WfPropagationQueue_########.PoolQueueThread-25: INFO  : wt.pom.sql wcadmin - Query(wt.pds.AbstractLobHandler)=SELECT blob$context FROM WfExpressionRobot WHERE idA2A2 = ?; Bind Parameters=[22883752441]
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - getConnection() called from persistence package: wt.pom.BasicStatementManager
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Using statement from connection:   wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=2}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Freeing statement from connection: wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Exit  _findLocator(WTConnection,LobLocator) oracle.sql.BLOB@63f88106
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Exit  findLocator(WTConnection,LobLocator) oracle.sql.BLOB@63f88106
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter write(WTConnection,Object,long,InputStream,long) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, oracle.sql.BLOB@63f88106, 1, java.io.ByteArrayInputStream@4fdee430, 4044
WfPropagationQueue_########.PoolQueueThread-25: INFO  : wt.pom.blob wcadmin - Write chunk, size = 4044
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter write(WTConnection,Object,long,InputStream,long) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, oracle.sql.BLOB@63f88106, 1, java.io.ByteArrayInputStream@4fe97459, 4044
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Freeing statement from connection: wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - freeUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - PersistentObjectManager.getUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - PersistentObjectManager.getUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - getConnection() called from persistence package: wt.pom.TransactionManager
WfPropagationQueue_########.PoolQueueThread-25: INFO  : wt.pom.connection wcadmin - reconnect skip rollback - datastoreConnection is closed
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Enter disconnect
WfPropagationQueue_########.PoolQueueThread-25: INFO  : wt.pom.connection wcadmin - disconnect closing connection
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Exit  disconnect
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - enter connect()
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - setOwner(): owner=xxxxxx;iztfmoed;24243;j1h0ne;167475
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - clearOwners()
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - addOwner(): owner=xxxxxx;iztfmoed;24243;j1h0ne;167475 ownerSet=[xxxxxx;iztfmoed;24243;j1h0ne;167475]
  • Oracle alert log has lots of following kind of errors
Sweep [inc][733199]: completed
Sweep [inc][732829]: completed

Errors in file /oracle/app/diag/diag/rdbms/wind/wind/trace/wind_ora_12779772.trc  (incident=733342):
ORA-00600: internal error code, arguments: [25027], [4], [0], [], [], [], [], [], [], [], [], []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
This is a printer-friendly version of Article 257947 and may be out of date. For the latest version click CS257947