# \[IGN-3831\]Running Scripts Blank Description

**URL:** <https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [November 15, 2021, 11:07am UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065 "2021-11-15T11:07:11Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [November 15, 2021, 11:07am UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/1 "2021-11-15T11:07:11Z")

</div>

Hi,

I have many running scripts that come and go and I would like to track them down. I have searched for every instance of `system.util.invokeAsync` and have given the calls descriptions, but I still have these appear:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/b/6b72032801c053a0d59a44d7d5802e59a306e45a.png)

None of these scripts stay running, but I would like to trace their origin to reduce the number of times they are invoked and their impact, if practical. They are also almost certainly originating from a tag or Perspective change script.

Is there anything other that `system.util.invokeAsync` that could spawn a thread like this? I just don’t know where to search next to reduce the load caused by these.

Thanks,  
Deon

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [November 15, 2021, 1:08pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/2 "2021-11-15T13:08:08Z")

</div>

Is it possible that Perspective script transforms create threads without descriptions?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 15, 2021, 1:44pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/3 "2021-11-15T13:44:39Z")

</div>

Consider taking a thread dump and looking at those threads’ stack traces. It should at least identify the subsystem involved.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 15, 2021, 4:23pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/4 "2021-11-15T16:23:01Z")

</div>

> [@deon.korb](#):
>
> Is it possible that Perspective script transforms create threads without descriptions?

Yes.

Currently, Perspective works with an unbound, caching thread pool. If you end up with many sessions or scripts running concurrently, you could quickly create a lot of threads, which will exist for a certain TTL then terminate.  
We have a feature request to allow you to contribute description information when creating script transforms to make situations like this easier to diagnose.

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [November 15, 2021, 4:28pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/5 "2021-11-15T16:28:27Z")

</div>

The culprit was a lot of frequent `system.alarm.queryStatus` calls in a Perspective script transform.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 15, 2021, 4:36pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/6 "2021-11-15T16:36:08Z")

</div>

Just curious - what are you using `queryStatus` for in a transform?

If you can refactor to plain alarm status tables, there’s a significant optimization that’s landing in 8.1.12, where any tables querying at the same time will automatically reuse from a cache, instead of pulling their own data per session.

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [November 15, 2021, 4:43pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/7 "2021-11-15T16:43:33Z")

</div>

I was testing this:

> [@\[IGN-4921\]Alarm Aggregation/Summary](https://forum.inductiveautomation.com/t/alarm-aggregation-summary/52169):
>
> Hi, I would like to know what the best way is to get a summary of the alarms on a UDT. What I need is the highest priority active alarm (for a colour around the UDT symbol) and if there are any unacknowledged alarms (to blink). I need to do this for about 50 UDTs on a page with about 100 clients active. I see the following options: Use an expression tag on the UDT that monitors all configured alarms and presents a summary integer (priority code and negative if unacked). Similar to below: if…

Turns out my original strategy of an expression tag on the UDT is so far the lightest on the Gateway.

I'm still looking for the best way

---

<div class="post-metadata">

**Author:** ![rbachman](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rbachman/32/43718_2.png) [@rbachman](https://forum.inductiveautomation.com/u/rbachman)\
**Post date:** [August 9, 2022, 7:28pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/8 "2022-08-09T19:28:58Z")

</div>

You mentioned that we can contribute description information; how exactly do we do that? We have a need for this in a few cases.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 9, 2022, 8:23pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/9 "2022-08-09T20:23:08Z")

</div>

We have a feature request for that capability. We don’t currently have that capability.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [August 9, 2022, 8:37pm UTC](https://forum.inductiveautomation.com/t/ign-3831-running-scripts-blank-description/53065/10 "2022-08-09T20:37:54Z")

</div>

Fwiw, I use tags as well. I have two udts, one which has one instance only which has a tag that calls queryStatus at a regular interval 2s to get all alarms and write the info into a library variable. The other udt is instantiated anywhere you want a folder summary and has tags in it that process the library variable and summarise them, like active unack, priorities, etc
