Hello,
Our system is based on Windchill 8.0.
We have a problem with workflows.
After having upgraded a process by import et have modified a few tables , we have the following error (Sorry, it's in French):
wt.pom.DatastoreException: Erreur de persistance. Message d'erreur système :
Exception imbriquée : java.lang.NullPointerException
... and that's it !
The system does not create more instances of the modified process, and expecting the same error for other "not change" process.
Some of the other instances of the process are not viewable.
The error is not very verbose , and I did not know which track search.
For information, the process was checked out. We've deleted the last iteration process, but we always have the problem.
Can anybody help us?
Thanks.
Solved! Go to Solution.
Is there a stacktrace for the NullPointerException in the Method Server log? The stacktrace would give an indication as to the cause of the exception.
Hye Chris,
The all stacktrace is :
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: wt.pom.DatastoreException: Erreur de persistance. Message d'erreur système :
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: Exception imbriquée : java.lang.NullPointerException
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1747)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1835)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1759)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfVariable.readVersion(WfVariable.java:238)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfVariable.readExternal(WfVariable.java:195)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1682)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1644)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.ProcessData.readVersion(ProcessData.java:175)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.ProcessData.readExternal(ProcessData.java:147)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1682)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1644)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.AbstractLobHandler.getLobAsObject(AbstractLobHandler.java:236)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.SQLDatabasePds.getLobAsObject(SQLDatabasePds.java:1370)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.WTResultSet.getLobAsObject(WTResultSet.java:956)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.WTResultSet.getObject(WTResultSet.java:318)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.AbstractPersistentRetrieve.getInlineObject(AbstractPersistentRetrieve.java:208)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfExecutionObject.readExternal(WfExecutionObject.java:702)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfContainer.readExternal(WfContainer.java:269)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfProcess.readExternal(WfProcess.java:507)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.WTResultSet.readObject(WTResultSet.java:591)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.PersistableItemBuilder.build(PersistableItemBuilder.java:789)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.StandardACProcessor.processResults(StandardACProcessor.java:194)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.SequentialResultBuilder.build(SequentialResultBuilder.java:527)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.BasicResultCursor.next(BasicResultCursor.java:516)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:857)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1191)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1088)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pom.PersistentObjectManager.refresh(PersistentObjectManager.java:2242)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1967)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.StandardPersistenceManager.restore(StandardPersistenceManager.java:4127)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.StandardPersistenceManager.restore(StandardPersistenceManager.java:2543)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.StandardPersistenceManager.restore(StandardPersistenceManager.java:2517)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.cache.ReferenceCache.get(ReferenceCache.java:450)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.cache.StandardObjReferenceCacheService.getObject(StandardObjReferenceCacheService.java:182)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.cache.ObjectReferenceCacheFwd.getObject(ObjectReferenceCacheFwd.java:82)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.CachedObjectReference.getObject(CachedObjectReference.java:402)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.engine.WfActivity.getParentProcess(WfActivity.java:1324)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.work.WorkItem.getIdentity(WorkItem.java:1426)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.identity.DisplayIdentificationPersistableDelegate.initializeIdentifier(DisplayIdentificationPersistableDelegate.java:209)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.identity.DisplayIdentificationStandardDelegate.initialize(DisplayIdentificationStandardDelegate.java:377)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.identity.IdentityFactory.getDisplayIdentityDelegate(IdentityFactory.java:439)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.identity.IdentityFactory.getDisplayIdentifier(IdentityFactory.java:272)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.fc.WTObject.getDisplayIdentifier(WTObject.java:436)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.workflow.worklist.WfReassignProcessor.selectedWorkItems(WfReassignProcessor.java:175)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.lang.reflect.Method.invoke(Method.java:324)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.htmlutil.MethodAction.action(MethodAction.java:132)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.htmlutil.CachedHTMLTemplate.execute(CachedHTMLTemplate.java:144)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.htmlutil.CachedHTMLTemplate.execute(CachedHTMLTemplate.java:120)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.htmlutil.HTMLTemplate.process(HTMLTemplate.java:229)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.templateutil.processor.GenerateFormProcessor.handleRequest(GenerateFormProcessor.java:431)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.enterprise.URLProcessor.processForm(URLProcessor.java:842)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.lang.reflect.Method.invoke(Method.java:324)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.httpgw.HTTPResponseImpl.writeExternal(HTTPResponseImpl.java:311)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1269)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1250)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1057)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.method.MethodResultWriter.writeExternal(MethodResultWriter.java:193)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at wt.method.MethodResult.writeExternal(MethodResult.java:202)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1269)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1250)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1057)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:271)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.transport.Transport$1.run(Transport.java:148)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.security.AccessController.doPrivileged(Native Method)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
jeu. 4/30/15 09:56:44: RMI TCP Connection(1177)-127.0.0.1: at java.lang.Thread.run(Thread.java:534)
We only see that error in the MethodServer when we'd like to create a new instance of the process, and the process is not created.
Thanks for your help.
The stacktrace shows the NullPointerException is coming from the readSerialData method of the java.io.ObjectInputStream class. Since it's coming from a java class and not a Windchill class, that makes me wonder if this is a bug in the JDK. What JDK version and Windchill version are you using? You might want to try updating to the latest JDK supported by your Windchill version.
Looks like its looking for a workflow variable in the blob and it is null.
Not sure if it is related to upgrade, was the workflow working fine before...? I am not sure whe
Basically the object model and data model might have some mismatch and/or serialization/deserialization issue with code.
try to add some verbosity to wt.workflow.engine.ProcessData, it may give more info. on what variable it is trying to read and why its null...
Hye,
The problem was in a Serialization error.
Thanks to all of you !