# \[BUG-13990\] Ignition 8.0.2-rc1 - bug when expression use tag function in alarms bindings

**URL:** <https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488>\
**Category:** Ignition Early Access\
**Tags:** ignition80\
**Created:** [June 3, 2019, 7:31am UTC](https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488 "2019-06-03T07:31:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [June 3, 2019, 7:31am UTC](https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488/1 "2019-06-03T07:31:14Z")

</div>

@awalker could you please fill a ticket for this bug.

With Ignition **8.0.2-rc1** or the **8.0.3-SNAPSHOT (b2019060102)**, when I try to edit an alarm on a tag inside an udt with only one udt instance created for this udt, it takes about 30 seconds before the popup is closed when I click on “APPLY”

I have an Alarm label expression binding :

```auto
tag(concat("[default]",{itemPath},".tooltip"))

```

and alarm label expression binding :

```auto
{repereEqt}

```

**repereEqt** is a an udt string parameter

Note : When I have no instance, there is no delay.

I have an error popup : Error saving tag changes  
Detail

```auto
ExecutionException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Read timed out
	caused by GatewayException: Read timed out
	caused by SocketTimeoutException: Read timed out

Ignition v8.0.2-rc1 (b2019052016)
Java: Azul Systems, Inc. 11.0.3

```

If I active the logger **alarm.Execution** , I have the following error on the gateway :

BoundProperties 03Jun2019 09:14:26 Error executing bound property.

```auto
com.inductiveautomation.ignition.common.expressions.ExpressionException: Timeout exception when reading tag value

at com.inductiveautomation.ignition.common.expressions.functions.TagFunction.execute(TagFunction.java:125)

at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:66)

at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$ConcatFunction.execute(DefaultFunctionFactory.java:367)

at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:66)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.BoundPropEvalPropertySet$BoundValue.evaluate(BoundPropEvalPropertySet.java:234)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.BoundPropEvalPropertySet$BoundValue.evalAndGet(BoundPropEvalPropertySet.java:261)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.BoundPropEvalPropertySet.getValues(BoundPropEvalPropertySet.java:186)

at com.inductiveautomation.ignition.common.config.AbstractExtendedPropertySet.getValues(AbstractExtendedPropertySet.java:145)

at com.inductiveautomation.ignition.common.config.MutablePropertyValueSource.merge(MutablePropertyValueSource.java:16)

at com.inductiveautomation.ignition.common.config.BasicPropertySet.(BasicPropertySet.java:47)

at com.inductiveautomation.ignition.common.config.BasicPropertySet.(BasicPropertySet.java:42)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.Alarm$AlarmPropertyModel.snapshotData(Alarm.java:1145)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.Alarm.captureEventData(Alarm.java:698)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.Alarm.finishTransitionEvent(Alarm.java:751)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.Alarm.initTransitionEvent(Alarm.java:723)

at com.inductiveautomation.ignition.gateway.alarming.evaluation.Alarm.evaluate(Alarm.java:539)

at com.inductiveautomation.ignition.gateway.alarming.AlarmManagerImpl$AlarmEvaluatorImpl.evaluate(AlarmManagerImpl.java:571)

at com.inductiveautomation.ignition.gateway.tags.actors.factories.alarming.AlarmingActor.processValue(AlarmingActor.java:153)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.ExecutableTag.valueChanged(ExecutableTag.java:279)

at com.inductiveautomation.ignition.gateway.tags.actors.factories.value.AbstractValueGeneratingActor.fireValueChange(AbstractValueGeneratingActor.java:41)

at com.inductiveautomation.ignition.gateway.tags.actors.factories.value.AbstractValueGeneratingActor.setListener(AbstractValueGeneratingActor.java:30)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.ExecutableTag.configureActors(ExecutableTag.java:614)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.ExecutableTag.applyPropertyChangesToTag(ExecutableTag.java:426)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.managePropertyChanges(BasicTagDefinition.java:629)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.lambda$new$0(BasicTagDefinition.java:95)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.TagPropertyModel.dispatchPropertiesChanged(TagPropertyModel.java:81)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.TagPropertyModel.onPropertiesChanged(TagPropertyModel.java:42)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.onInheritedPropertiesChanged(BasicTagDefinition.java:604)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.complex.AbstractTopLevelUdtTag.onSuperPropertiesChanged(AbstractTopLevelUdtTag.java:191)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.complex.TypesFolder$TypeDefinitionNode.lambda$publishPropertiesChanged$1(TypesFolder.java:660)

at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)

at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)

at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)

at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)

at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)

at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.complex.TypesFolder$TypeDefinitionNode.publishPropertiesChanged(TypesFolder.java:660)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.complex.AbstractComplexTagDefinitionNode.fireMemberPropertiesChanged(AbstractComplexTagDefinitionNode.java:128)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.complex.UdtFolderNode.fireMemberPropertiesChanged(UdtFolderNode.java:56)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.managePropertyChanges(BasicTagDefinition.java:635)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.lambda$new$0(BasicTagDefinition.java:95)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.TagPropertyModel.dispatchPropertiesChanged(TagPropertyModel.java:81)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.TagPropertyModel.onPropertiesChanged(TagPropertyModel.java:42)

at com.inductiveautomation.ignition.gateway.tags.runtime.nodes.BasicTagDefinition.configureTag(BasicTagDefinition.java:540)

at com.inductiveautomation.ignition.gateway.tags.runtime.TagEvaluationManagerImpl.moveOrEditNode(TagEvaluationManagerImpl.java:618)

at com.inductiveautomation.ignition.gateway.tags.runtime.TagEvaluationManagerImpl.processEditInternal(TagEvaluationManagerImpl.java:306)

at com.inductiveautomation.ignition.gateway.tags.runtime.TagEvaluationManagerImpl.processEdit(TagEvaluationManagerImpl.java:238)

at com.inductiveautomation.ignition.gateway.tags.TagProviderImpl.saveTagConfigInternal(TagProviderImpl.java:604)

at com.inductiveautomation.ignition.gateway.tags.TagProviderImpl.lambda$saveTagConfigsAsync$9(TagProviderImpl.java:564)

at com.inductiveautomation.ignition.gateway.tags.TagProviderImpl.lambda$exec$2(TagProviderImpl.java:345)

at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.util.concurrent.TimeoutException: null

at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source)

at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)

at com.inductiveautomation.ignition.common.expressions.functions.TagFunction.execute(TagFunction.java:120)

... 57 common frames omitted

```

if I replace the expression binding with

```auto
concat("[default]",{itemPath},".tooltip")

```

instead of

```auto
tag(concat("[default]",{itemPath},".tooltip"))

```

There is no error.

It seems that the issue is a timeout when evaluating expression in alarms with the **tag function**!

[udt.json](https://us1.discourse-cdn.com/inductiveautomation/original/2X/d/ddcc470f9c19a0468333f405cc54e6a0c295a4ca.json) (850 Bytes)

[tags.json](https://us1.discourse-cdn.com/inductiveautomation/original/2X/d/d035f6670ba9f3c24abfda7ff21e24a885fc9a9c.json) (1.1 KB)

---

<div class="post-metadata">

**Author:** ![awalker](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/awalker/32/6874_2.png) [@awalker](https://forum.inductiveautomation.com/u/awalker)\
**Post date:** [June 4, 2019, 3:45pm UTC](https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488/2 "2019-06-04T15:45:46Z")

</div>

Hi @mazeyrat,

I talked with one of the developers and we think that this is also the same underlying issue as the bug mentioned in your other posts: [[BUG-13990] Ignition 8.0.2-2019-05-09 - designer freeze when creating an UDT instance](http://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-2019-05-09-designer-freeze-when-creating-an-udt-instance/24897) and [Ignition 8.0.2-rc1 - udt instance are very long to create](http://forum.inductiveautomation.com/t/ignition-8-0-2-rc1-udt-instance-are-very-long-to-create/25375/6)

We’ll update you when its been fixed.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [June 4, 2019, 6:44pm UTC](https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488/3 "2019-06-04T18:44:23Z")

</div>

thanks, I stay tuned to test the fix as soon as possible.

---

<div class="post-metadata">

**Author:** ![awalker](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/awalker/32/6874_2.png) [@awalker](https://forum.inductiveautomation.com/u/awalker)\
**Post date:** [June 7, 2019, 8:46pm UTC](https://forum.inductiveautomation.com/t/bug-13990-ignition-8-0-2-rc1-bug-when-expression-use-tag-function-in-alarms-bindings/25488/4 "2019-06-07T20:46:29Z")

</div>

@mazeyrat, the mentioned ticket has been fixed in the latest build. Please let us know if you are still seeing this issue.
