You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@plc4x.apache.org by "Volker Emmert (Jira)" <ji...@apache.org> on 2020/05/13 12:52:00 UTC
[jira] [Updated] (PLC4X-198) Subscription fails with invalid field
address
[ https://issues.apache.org/jira/browse/PLC4X-198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Volker Emmert updated PLC4X-198:
--------------------------------
Description:
For a subscription with several field addresses, it fails if one of the addresses is invalid (empty or other).
{code:java}
14:37:35.878 [pool-4-thread-1] WARN org.xyz.plc.PlcSubscriptionManagerImpl - Unable to execute Subscription (s7://192.168.167.210/0/0,[%DB800:0.0:STRING[32], xdf])
org.apache.plc4x.java.api.exceptions.PlcInvalidFieldException: xdf invalid
at org.apache.plc4x.java.s7.netty.util.S7PlcFieldHandler.createField(S7PlcFieldHandler.java:42) ~[plc4j-protocol-s7-0.6.0.6.jar:0.6.0.6]
at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.lambda$build$0(DefaultPlcReadRequest.java:105) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
at java.util.TreeMap.forEach(TreeMap.java:1002) ~[?:?]
at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.build(DefaultPlcReadRequest.java:104) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
at org.pragmaticindustries.cockpit.plc.plcconnect.MonitoredReadRequestBuilder.build(MonitoredReadRequestBuilder.java:32) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.pool2.CachedReadRequestBuilder.build(CachedReadRequestBuilder.java:29) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.lambda$request$8c734c6f$1(PlcRequestManagerImpl.java:126) ~[classes/:?]
at io.vavr.control.Try.of(Try.java:75) ~[vavr-0.10.2.jar:?]
at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.request(PlcRequestManagerImpl.java:125) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.PlcSubscriptionManagerImpl$ProcessSubscriptionMultipleTask.run(PlcSubscriptionManagerImpl.java:138) [classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:305) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:830) [?:?]
{code}
was:
For a subscription with several field addresses, it fails if one of the addresses is invalid (empty or other).
{{
{code:java}
14:37:35.878 [pool-4-thread-1] WARN org.xyz.plc.PlcSubscriptionManagerImpl - Unable to execute Subscription (s7://192.168.167.210/0/0,[%DB800:0.0:STRING[32], xdf])
org.apache.plc4x.java.api.exceptions.PlcInvalidFieldException: xdf invalid
at org.apache.plc4x.java.s7.netty.util.S7PlcFieldHandler.createField(S7PlcFieldHandler.java:42) ~[plc4j-protocol-s7-0.6.0.6.jar:0.6.0.6]
at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.lambda$build$0(DefaultPlcReadRequest.java:105) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
at java.util.TreeMap.forEach(TreeMap.java:1002) ~[?:?]
at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.build(DefaultPlcReadRequest.java:104) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
at org.pragmaticindustries.cockpit.plc.plcconnect.MonitoredReadRequestBuilder.build(MonitoredReadRequestBuilder.java:32) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.pool2.CachedReadRequestBuilder.build(CachedReadRequestBuilder.java:29) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.lambda$request$8c734c6f$1(PlcRequestManagerImpl.java:126) ~[classes/:?]
at io.vavr.control.Try.of(Try.java:75) ~[vavr-0.10.2.jar:?]
at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.request(PlcRequestManagerImpl.java:125) ~[classes/:?]
at org.pragmaticindustries.cockpit.plc.PlcSubscriptionManagerImpl$ProcessSubscriptionMultipleTask.run(PlcSubscriptionManagerImpl.java:138) [classes/:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:305) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:830) [?:?]
{code}
}}
> Subscription fails with invalid field address
> ---------------------------------------------
>
> Key: PLC4X-198
> URL: https://issues.apache.org/jira/browse/PLC4X-198
> Project: Apache PLC4X
> Issue Type: Bug
> Reporter: Volker Emmert
> Assignee: Julian Feinauer
> Priority: Major
>
> For a subscription with several field addresses, it fails if one of the addresses is invalid (empty or other).
> {code:java}
> 14:37:35.878 [pool-4-thread-1] WARN org.xyz.plc.PlcSubscriptionManagerImpl - Unable to execute Subscription (s7://192.168.167.210/0/0,[%DB800:0.0:STRING[32], xdf])
> org.apache.plc4x.java.api.exceptions.PlcInvalidFieldException: xdf invalid
> at org.apache.plc4x.java.s7.netty.util.S7PlcFieldHandler.createField(S7PlcFieldHandler.java:42) ~[plc4j-protocol-s7-0.6.0.6.jar:0.6.0.6]
> at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.lambda$build$0(DefaultPlcReadRequest.java:105) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
> at java.util.TreeMap.forEach(TreeMap.java:1002) ~[?:?]
> at org.apache.plc4x.java.base.messages.DefaultPlcReadRequest$Builder.build(DefaultPlcReadRequest.java:104) ~[plc4j-protocol-driver-base-0.6.0.6.jar:0.6.0.6]
> at org.pragmaticindustries.cockpit.plc.plcconnect.MonitoredReadRequestBuilder.build(MonitoredReadRequestBuilder.java:32) ~[classes/:?]
> at org.pragmaticindustries.cockpit.plc.pool2.CachedReadRequestBuilder.build(CachedReadRequestBuilder.java:29) ~[classes/:?]
> at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.lambda$request$8c734c6f$1(PlcRequestManagerImpl.java:126) ~[classes/:?]
> at io.vavr.control.Try.of(Try.java:75) ~[vavr-0.10.2.jar:?]
> at org.pragmaticindustries.cockpit.plc.PlcRequestManagerImpl.request(PlcRequestManagerImpl.java:125) ~[classes/:?]
> at org.pragmaticindustries.cockpit.plc.PlcSubscriptionManagerImpl$ProcessSubscriptionMultipleTask.run(PlcSubscriptionManagerImpl.java:138) [classes/:?]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:305) [?:?]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) [?:?]
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
> at java.lang.Thread.run(Thread.java:830) [?:?]
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)