[BUG-13830] CompactLogix 1769-L36ERM/A Fails to browse

Ignition 7.9.10
Logix 30.11
We cannot get the PLC to be browsed by the OPC Server.
Have checked and verified and rechecked all access permissions on the tags, verified all connection settings and proper driver selection for the Ignition server.
Server shows connected but the only tags available are the diagnostic tags.

Capture

Browse failed: com.digitalpetri.enip.cip.CipResponseException: status=0x04 [path segment error] , additional=[0x0000]


java.util.concurrent.CompletionException: com.digitalpetri.enip.cip.CipResponseException: status=0x04 [path segment error] , additional=[0x0000]



at java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)



at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)



at java.util.concurrent.CompletableFuture.biRelay(Unknown Source)



at java.util.concurrent.CompletableFuture$BiRelay.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture$CoCompletion.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)



at java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)



at com.inductiveautomation.xopc.drivers.logix.browse.LogixBrowse.lambda$null$12(LogixBrowse.java:191)



at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)



at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)



at java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)



at com.digitalpetri.enip.cip.CipClient.lambda$invokeUnconnected$2(CipClient.java:128)



at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)



at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)



at java.util.concurrent.CompletableFuture.complete(Unknown Source)



at com.digitalpetri.enip.cip.CipClient.lambda$sendUnconnectedData$8(CipClient.java:201)



at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)



at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)



at java.util.concurrent.CompletableFuture.complete(Unknown Source)



at com.digitalpetri.enip.EtherNetIpClient$PendingRequest.lambda$new$0(EtherNetIpClient.java:309)



at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)



at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)



at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)



at java.util.concurrent.CompletableFuture.complete(Unknown Source)



at com.digitalpetri.enip.EtherNetIpClient.onChannelRead(EtherNetIpClient.java:188)



at com.digitalpetri.enip.EtherNetIpClient.access$500(EtherNetIpClient.java:34)



at com.digitalpetri.enip.EtherNetIpClient$EtherNetIpClientHandler.lambda$channelRead0$0(EtherNetIpClient.java:245)



at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)



at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)



at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)



at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)



at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)



Caused by: com.digitalpetri.enip.cip.CipResponseException: status=0x04 [path segment error] , additional=[0x0000]



at com.digitalpetri.enip.logix.services.GetInstanceAttributeListService.decodeResponse(GetInstanceAttributeListService.java:79)



at com.digitalpetri.enip.logix.services.GetInstanceAttributeListService.decodeResponse(GetInstanceAttributeListService.java:21)



at com.digitalpetri.enip.cip.services.UnconnectedSendService.decodeResponse(UnconnectedSendService.java:122)



at com.digitalpetri.enip.cip.CipClient.lambda$invokeUnconnected$2(CipClient.java:112)



... 22 common frames omitted

I think I saw this with another customer too.

The cause was an “orphaned” datatype in the controller. During the browse we get a list of templates, and then later when we read the definitions the controller is telling us this template doesn’t exist or something (even though it gave it to us in the list).

I’ve got an enhancement ticket to handle this case but in the meantime I think if you re-download the program it starts working…

Kevin,
Is there any other way to get this to browse?
This system is a full time production PLC and can’t be taken down at the moment.
Kepware, Wonderware, and Rockwell Panel View all can see and browse the tags.
It’s only the newly installed Ignition system that cannot.

No, I’m not aware of anything.

Let’s confirm that this is the same issue I’m talking about though.

Turn loggers for LogixBrowse, LogixBrowseState, LogixBrowseStateManager to TRACE and then edit/save the device connection and send us the logs.

Sent!
Thanks!

This is a different but similar issue. The driver is being told there is a program called “test” and we get this error:
CipResponseException: status=0x04 [path segment error] , additional=[0x0000]
when trying to enumerate the symbols in that program.

Do you know if that test program currently exists and if it’s being used for anything?

Just went online with the PLC and there is not a program called test on there.

I updated the ticket with this scenario.

Sorry, I don’t have any kind of workaround for you. I’ve only seen this twice now, but both have been v30+ firmware, so it seems like there’s some new bug in the controllers that has exposed a bug in the driver’s browse logic.

Did a complete wipe and reload of PLC program over the weekend.
No luck, still fails to browse but now it is on different programs in the PLC.
It shows failing on program Applicator and program Debug with the same errors as above.

@MMaynard would you like to test a beta build of the Logix driver?

Yes of course!