# Perspective: Error when overwriting props with json object 8.1.16

**URL:** <https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658>\
**Category:** Ignition\
**Tags:** perspective, ignition81, scripting\
**Created:** [May 17, 2022, 9:06am UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658 "2022-05-17T09:06:32Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeffrey.boey](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@jeffrey.boey](https://forum.inductiveautomation.com/u/jeffrey.boey)\
**Post date:** [May 17, 2022, 9:06am UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/1 "2022-05-17T09:06:32Z")

</div>

Hi folks, I have an issue right after upgrading to 8.1.16. Basically we have a saved configuration for our PowerChart that users can opt to upload and use. When uploaded, the following code would overwrite the "props" section of the PowerChart component.

> text = event.file.getString()  
> self.parent.parent.getChild(PowerChart).props = system.util.jsonDecode(text)

This worked well in 8.1.14. But recently, we updated to 8.1.16 and the code would fail on system.util.jsonDecode with the error "Java.lang.IllegalStateException: Must be executed in execution queue."

I tried looking around the forum but I'm don't see anything on this topic ☹

If anyone has come acrossed something like this I would love to know how to work around this, thanks ✌

> INFO | jvm 1 | 2022/05/17 08:32:52 | W [p.a.script] [08:32:52]: Error running action 'component.onFileReceived' on Main Views/Trends@C/root/CoordinateContainer/FileUpload: Traceback (most recent call last):  
> INFO | jvm 1 | 2022/05/17 08:32:52 | File "function:runAction", line 5, in runAction  
> INFO | jvm 1 | 2022/05/17 08:32:52 | java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:195)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:184)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.property.PropertyTree.merge(PropertyTree.java:487)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.PropertyTreeOwnerScriptWrapper. **setattr** (PropertyTreeOwnerScriptWrapper.java:50)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode._pyx585628.runAction$1(function:runAction:6)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode.pyx585628.call\_function(function:runAction)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyTableCode.call(PyTableCode.java:173)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyBaseCode.call(PyBaseCode.java:306)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction.function\_\_\_call_(PyFunction.java:474)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:469)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:464)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:831)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:813)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:806)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:994)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:871)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:140)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ActionDecorator.runAction(ActionDecorator.java:18)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.SecuredAction.runAction(SecuredAction.java:44)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingWork$BlockingWorkRunnable.run(BlockingWork.java:58)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.lang.Thread.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | java.lang.IllegalStateException: java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 | project-name=cyberdeck, view=Main Views/Trends@C, component=root/CoordinateContainer/FileUpload  
> INFO | jvm 1 | 2022/05/17 08:32:52 | com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last):  
> INFO | jvm 1 | 2022/05/17 08:32:52 | File "function:runAction", line 5, in runAction  
> INFO | jvm 1 | 2022/05/17 08:32:52 | java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:195)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:184)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.property.PropertyTree.merge(PropertyTree.java:487)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.PropertyTreeOwnerScriptWrapper. **setattr** (PropertyTreeOwnerScriptWrapper.java:50)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode._pyx585628.runAction$1(function:runAction:6)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode.pyx585628.call\_function(function:runAction)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyTableCode.call(PyTableCode.java:173)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyBaseCode.call(PyBaseCode.java:306)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction.function\_\_\_call_(PyFunction.java:474)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:469)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:464)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:831)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:813)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:806)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:994)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:871)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:140)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ActionDecorator.runAction(ActionDecorator.java:18)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.SecuredAction.runAction(SecuredAction.java:44)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingWork$BlockingWorkRunnable.run(BlockingWork.java:58)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.lang.Thread.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | java.lang.IllegalStateException: java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 |  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.Py.JavaError(Py.java:547)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyTableCode.call(PyTableCode.java:182)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyBaseCode.call(PyBaseCode.java:306)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction.function\_\_\_call\_\_(PyFunction.java:474)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:469)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyFunction. **call** (PyFunction.java:464)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:831)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:813)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:806)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.script.ScriptManager$ScriptFunctionImpl.invoke(ScriptManager.java:994)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$AutoRecompilingScriptFunction.invoke(ProjectScriptLifecycle.java:871)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.ScriptFunctionHelper.invoke(ScriptFunctionHelper.java:140)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ScriptAction.runAction(ScriptAction.java:71)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.ActionDecorator.runAction(ActionDecorator.java:18)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.action.SecuredAction.runAction(SecuredAction.java:44)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.lambda$call$0(ActionCollection.java:263)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.api.LoggingContext.mdc(LoggingContext.java:54)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:252)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.model.ActionCollection$ActionSequence$ExecuteActionsTask.call(ActionCollection.java:221)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingTaskQueue$TaskWrapper.run(BlockingTaskQueue.java:154)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.threading.BlockingWork$BlockingWorkRunnable.run(BlockingWork.java:58)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at java.base/java.lang.Thread.run(Unknown Source)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | Caused by: org.python.core.PyException: java.lang.IllegalStateException: java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 | ... 26 common frames omitted  
> INFO | jvm 1 | 2022/05/17 08:32:52 | Caused by: java.lang.IllegalStateException: Must be executed in execution queue.  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:195)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.ignition.common.util.ExecutionQueue.requireInQueue(ExecutionQueue.java:184)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.property.PropertyTree.merge(PropertyTree.java:487)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at com.inductiveautomation.perspective.gateway.script.PropertyTreeOwnerScriptWrapper. **setattr** (PropertyTreeOwnerScriptWrapper.java:50)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode.\_pyx585628.runAction$1(function:runAction:6)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.pycode.\_pyx585628.call\_function(function:runAction)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | at org.python.core.PyTableCode.call(PyTableCode.java:173)  
> INFO | jvm 1 | 2022/05/17 08:32:52 | ... 24 common frames omitted

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [May 17, 2022, 1:17pm UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/2 "2022-05-17T13:17:17Z")

</div>

> [@jeffrey.boey](#):
>
> would fail on system.util.jsonDecode

Are you sure its on this? and not on setting the props?  
becuase the example of you code you proved has both in one line and i see text about setting the property.

> [@jeffrey.boey](#):
>
> PropertyTreeOwnerScriptWrapper. **setattr**

Try to split them up to be sure^^, always a good thing when debugging

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [May 17, 2022, 1:48pm UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/3 "2022-05-17T13:48:29Z")

</div>

Yeah its defintly this that is the problem

> [@jeffrey.boey](#):
>
> self.parent.parent.getChild(PowerChart).props =

the props look like an object but arent really an object. im surprised this even worked in 8.1.14

---

<div class="post-metadata">

**Author:** ![jeffrey.boey](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@jeffrey.boey](https://forum.inductiveautomation.com/u/jeffrey.boey)\
**Post date:** [May 17, 2022, 1:57pm UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/4 "2022-05-17T13:57:34Z")

</div>

@victordcq  
You're right after spliting up I see it's the setting the props that was the issue...

and yea weirdly it worked on 8.1.14 for some reason 😃

what would be the correct way to set properties ? my json file is just that, the properties in the json format, gotten with the code below:

> save\_data = system.util.jsonEncode(self.parent.parent.getChild("PowerChart").props).

My logic being, if it could be gotten that way, I should be able to overwrite it as well

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [May 17, 2022, 2:03pm UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/5 "2022-05-17T14:03:46Z")

</div>

You should parse your object a bit like this i guess:

```auto
	text = event.file.getString()
	decoded = system.util.jsonDecode(text)
	props = self.parent.parent.getChild("PowerChart").props
	for x in props:
		props[x] = decoded[x]

```

@paul-griffith Still interested to see what might have changed about this though  
I see my old nemesis **BlockingWork** mentioned xD

> [@jeffrey.boey](#):
>
> com.inductiveautomation.perspective.gateway.threading.BlockingWork$BlockingWorkRunnable.run(BlockingWork.java:58)

---

<div class="post-metadata">

**Author:** ![jeffrey.boey](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@jeffrey.boey](https://forum.inductiveautomation.com/u/jeffrey.boey)\
**Post date:** [May 17, 2022, 2:40pm UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/6 "2022-05-17T14:40:18Z")

</div>

@victordcq  
Thanks for the tip, finally got it to work 😁  
Also managed to pinpoint the property that is causing the issue, turn out it's the classes (under style), maybe it has something to do with the value being empty?

Luckily it's the last element of the loop so the other properties are still correctly imported...

not sure why it didn't cause any issue in 8.1.14 though...

> INFO | jvm 1 | 2022/05/17 14:27:49 | STARTiNG FOR LOOP  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'tagBrowserStartPath': u'', u'responsiveDesignWidth': 750L, u'visibility': {u'showTagBrowser': True, u'buttons': {u'showMoreButton': True, u'showPanZoomButton': True, u'showSettingsButton': True, u'showXTraceButton': True, u'showAnnotationButton': True, u'showFullscreenButton': True, u'showRangeBrushButton': True, u'showTagBrowserButton': True}, u'showDateRangeSelector': True, u'showPenControlDisplay': True}, u'endDate': Tue May 17 14:27:42 UTC 2022, u'dateFormat': u'YYYY/MM/DD', u'rangeSelectorPen': u'', u'rangeStartDate': None, u'mode': u'realtime', u'pointCount': 300L, u'unitOfTime': 1L, u'refreshRate': 1000L, u'timeFormat': u'HH:mm', u'measureOfTime': u'days', u'rangeEndDate': None, u'export': {u'dateFormat': u'None', u'timeFormat': u'x'}, u'startDate': Mon May 16 00:00:00 UTC 2022}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'mode': u'xTrace', u'annotation': {u'line': {u'visible': True, u'color': u'#757A7F', u'width': 1L, u'style': {u'classes': u''}, u'opacity': 0.9, u'dashArray': 0L}, u'dot': {u'visible': True, u'color': u'#757A7F', u'style': {u'classes': u''}, u'radius': 3L, u'opacity': 1L}, u'infoBox': {u'visible': True, u'dateFormat': u'YYYY/MM/DD', u'showTime': True, u'timeFormat': u'h:mm A', u'width': 250L, u'icon': {u'style': {u'classes': u''}, u'fill': {u'color': u'#929597', u'opacity': 1L}, u'stroke': {u'color': u'#929597', u'width': 0L, u'opacity': 0L, u'dashArray': 0L}}, u'style': {u'classes': u''}, u'fill': {u'color': u'#FAFAFB', u'opacity': 0.9}, u'stroke': {u'color': u'#757A7F', u'width': 1L, u'opacity': 0.9, u'dashArray': 0L}}}, u'chartZoomLevel': 1L, u'fullscreen': False, u'xTrace': {u'line': {u'visible': True, u'color': u'#757A7F', u'width': 1L, u'style': {u'classes': u''}, u'opacity': 0.5, u'dashArray': 0L}, u'values': [0L], u'infoBox': {u'visible': True, u'dateFormat': u'YYYY/MM/DD', u'dataFormat': u'0,0.##', u'showTime': True, u'timeFormat': u'HH:mm:ss', u'width': 100L, u'style': {u'classes': u''}, u'fill': {u'color': u'#FAFAFB', u'opacity': 0.9}, u'stroke': {u'color': u'#757A7F', u'width': 1L, u'opacity': 0.9, u'dashArray': 0L}}}, u'rangeBrush': {u'inactive': {u'color': u'#757A7F', u'style': {u'classes': u''}, u'opacity': 0.3}, u'values': , u'active': {u'color': u'#0C7BB3', u'style': {u'classes': u''}, u'opacity': 0.3}}, u'rangeZoomLevel': 1L}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : [{u'color': u'#757A7F', u'dataFormat': u'0,0.##', u'name': u'Default', u'width': 60L, u'range': {u'auto': True, u'min': u'', u'max': u''}, u'style': {u'classes': u''}, u'label': {u'offset': 0L, u'style': {u'classes': u''}, u'text': u'', u'font': {u'color': u'#757A7F', u'size': 10L}}, u'position': u'left', u'tick': {u'color': u'#757A7F', u'style': {u'classes': u''}, u'label': {u'style': {u'classes': u''}, u'font': {u'color': u'#757A7F', u'size': 10L}}}}]  
> INFO | jvm 1 | 2022/05/17 14:27:49 | :   
> INFO | jvm 1 | 2022/05/17 14:27:49 | : [{u'color': u'#FFFFFF', u'relativeWeight': 1L, u'style': {u'classes': u''}, u'markers': }]  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'penControl': {u'average': True, u'plot': True, u'xTrace': True, u'maximum': True, u'axis': True, u'minimum': True, u'currentValue': True}, u'rangeSelection': {u'average': True, u'last': True, u'median': True, u'lcl': True, u'delta': True, u'maximum': True, u'sum': True, u'minimum': True, u'first': True, u'standardDeviation': True, u'ucl': True}}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'visible': False, u'style': {u'classes': u''}, u'text': u'', u'font': {u'color': u'#222222', u'size': 12L}}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'visible': True, u'tickCount': 5L, u'color': u'#757A7F', u'grid': {u'visible': False, u'color': u'', u'style': {u'classes': u''}, u'opacity': 0.9, u'dashArray': 0L}, u'style': {u'classes': u''}, u'tick': {u'color': u'#757A7F', u'style': {u'classes': u''}, u'label': {u'angled': False, u'format': u'Auto', u'style': {u'classes': u''}, u'font': {u'color': u'#757A7F', u'size': 10L}}}, u'height': 35L}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'visible': False}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | : {u'classes': u''}  
> INFO | jvm 1 | 2022/05/17 14:27:49 | W [p.a.script] [14:27:49]: Error running action 'component.onFileReceived' on Main Views/Trends@C/root/CoordinateContainer/FileUpload: Traceback (most recent call last):  
> INFO | jvm 1 | 2022/05/17 14:27:49 | File "function:runAction", line 15, in runAction  
> INFO | jvm 1 | 2022/05/17 14:27:49 | File "function:runAction", line 15, in runAction  
> INFO | jvm 1 | 2022/05/17 14:27:49 | java.lang.IllegalStateException: Must be executed in execution queue.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [May 18, 2022, 6:43am UTC](https://forum.inductiveautomation.com/t/perspective-error-when-overwriting-props-with-json-object-8-1-16/59658/7 "2022-05-18T06:43:16Z")

</div>

Oh so it actually does work expect not for style/classes. That is weird xD  
That might be a bug then…
