Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [milo-dev] WARN Failed to create DataTypeDictionary

Ari,

I'm guessing this server isn't correctly answering the read call with an indexRange set that reads fragments of the dictionary bytes and is instead just returning an empty ByteString. It probably never has, but now that the logging has changed you're seeing this warning. 

You can ignore this but it means you won't be able to read or write any custom types that are defined by that dictionary.

On Wed, Apr 29, 2020 at 10:10 PM Ari Suutari <ari.suutari@xxxxxxxxxxxxxxx> wrote:

Hi,

 

I updated from 0.3.4.

I enabled debug logging and got:

2020-04-30 08:01:04.110 [milo-shared-thread-pool-0] DEBUG Reading DataTypeDictionary nodeId=NodeId{ns=4, id=NX}

2020-04-30 08:01:04.201 [ForkJoinPool.commonPool-worker-1] DEBUG Dictionary XML:

 

So it looks that XML is empty ?

 

I have also packet capture from wire, which I can probably share it if necessary.

 

     Ari S.

 

 

From: milo-dev-bounces@xxxxxxxxxxx <milo-dev-bounces@xxxxxxxxxxx> On Behalf Of Kevin Herron
Sent: keskiviikko 29. huhtikuuta 2020 15.41
To: milo developer discussions <milo-dev@xxxxxxxxxxx>
Subject: Re: [milo-dev] WARN Failed to create DataTypeDictionary

 

Ari,

 

What version did you update from? Can you turn the DataTypeDictionaryReader logger to DEBUG and post the dictionary XMLs that get read? Or capture this on Wireshark?

 

It does seem like something wrong with the PLC but I'd like to verify.

 

On Wed, Apr 29, 2020 at 2:50 AM Ari Suutari <ari.suutari@xxxxxxxxxxxxxxx> wrote:

Hi,

 

I recently upgraded to milo 0.3.8 and noticed messages like these with one

PLC (OMRON Corporation NxOpcUaServer v. 1.0 1.02):

 

2020-04-29 12:20:20.922 [ForkJoinPool.commonPool-worker-1] WARN  Failed to create DataTypeDictionary nodeId=NodeId{ns=4, id=NX}

java.util.concurrent.CompletionException: javax.xml.bind.UnmarshalException

- with linked exception:

[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.]

        at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326)

        at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)

        at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:911)

        at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:953)

        at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926)

        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)

        at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:561)

        at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:929)

        at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)

        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)

        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)

        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)

        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Caused by: javax.xml.bind.UnmarshalException: null

        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335)

        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:578)

        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:264)

        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229)

        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)

        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:204)

        at org.eclipse.milo.opcua.binaryschema.parser.BsdParser.parse(BsdParser.java:42)

        at org.eclipse.milo.opcua.sdk.client.DataTypeDictionaryReader.createDataTypeDictionary(DataTypeDictionaryReader.java:251)

        at org.eclipse.milo.opcua.sdk.client.DataTypeDictionaryReader.lambda$readDataTypeDictionary$6(DataTypeDictionaryReader.java:134)

        at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:952)

        ... 9 common frames omitted

Caused by: org.xml.sax.SAXParseException: Premature end of file.

        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)

 

There seems to be issue about this that the situation is now logged as warning:

https://github.com/eclipse/milo/issues/576

 

Should I assume that there is something wrong with PLC’s UA server ?

I tried to look at it with UA Expert, but didn’t figure out much.

 

   Ari S.

 

 

_______________________________________________
milo-dev mailing list
milo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/milo-dev

_______________________________________________
milo-dev mailing list
milo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/milo-dev

Back to the top