Crash report from Dynamo 2.12.0.5650
Issue Description
Please fill in the following information to help us reproduce the issue:
I am trying to set an instance parameter on elements in groups. Basically collect the groups, extract the group elements, then set the parameter. On run I can select the groups, but during processing the error pops up. I had some issues a while back with this graph as well and started a thread on the forum: https://forum.dynamobim.com/t/elements-set-parameter-by-name-type-or-instance-error/73934 I got distracted and am just now getting back to it.
Oddly it does not seem to happen on a new project with a blank template, although the Elements.SetParameterByNameTypeOrInstance node reports that there is not a parameter with that name, however the values are set from what I can tell. This also acts differently between Revit 2020 and Revit 2022.
DYN and blank template project with some groups enclosed. I can upload a project but will need a little time to clean it out some.
Dynamo version
Dynamo: 2.12.0.5650
Operating system
OS: Microsoft Windows NT 10.0.19044.0
What did you do?
Run the graph, select the groups in the model, then error.
What did you expect to see?
I was expecting the elements in the groups to have the parameter set
What did you see instead?
an error message
What packages or external references (if any) were used?
SteamNodes | v.1.2.4 Clockwork | v.2.4.0 Data-Shapes | v.2022.2.103 Rhythm | v.2022.4.3
Stack Trace
Object reference not set to an instance of an object.
at ProtoCore.DSASM.Heap.RecursiveMark(StackValue root)
at ProtoCore.DSASM.Heap.SingleStep(Boolean forceGC)
at ProtoCore.DSASM.Executive.POP_helper(Instruction instruction, Int32& blockId, Int32& dimensions)
at ProtoCore.DSASM.Executive.POP_Handler(Instruction instruction)
at ProtoCore.DSASM.Executive.Execute(Int32 exeblock, Int32 entry, Language language)
at ProtoCore.DSASM.Executive.Execute(Int32 exeblock, Int32 entry, List1 breakpoints, Language language) at ProtoCore.DSASM.Executive.BounceUsingExecutive(Executive executive, Int32 exeblock, Int32 entry, StackFrame stackFrame, Int32 locals, Boolean fepRun, Executive exec, List1 breakpoints)
at ProtoScript.Runners.ProtoScriptRunner.ExecuteLive(Core core, RuntimeCore runtimeCore)
at ProtoScript.Runners.LiveRunner.Execute(Boolean isCodeCompiled)
at ProtoScript.Runners.LiveRunner.CompileAndExecute(List1 astList) at ProtoScript.Runners.LiveRunner.CompileAndExecuteForDeltaExecution(List1 astList)
at ProtoScript.Runners.LiveRunner.SynchronizeInternal(GraphSyncData syncData)
at ProtoScript.Runners.LiveRunner.UpdateGraph(GraphSyncData syncData)
at Dynamo.Scheduler.UpdateGraphAsyncTask.HandleTaskExecutionCore()
at Dynamo.Scheduler.AsyncTask.Execute()
CLR: 4.0.30319.42000
SetGroupElements-IsUnitGroup.zip
DynamoSetUnitGroup_Revit22.zip
Thank you for submitting the issue to us. We are sorry to see you get stuck with your workflow. While waiting for our team member to respond, please feel free to browse our forum at https://forum.dynamobim.com/ for more Dynamo related information.
I lied. I get the same error (i think) running this on a project in 2020 as well.
Object reference not set to an instance of an object.
at ProtoCore.DSASM.Heap.RecursiveMark(StackValue root)
at ProtoCore.DSASM.Heap.SingleStep(Boolean forceGC)
at ProtoCore.DSASM.Executive.POP_helper(Instruction instruction, Int32& blockId, Int32& dimensions)
at ProtoCore.DSASM.Executive.POP_Handler(Instruction instruction)
at ProtoCore.DSASM.Executive.Execute(Int32 exeblock, Int32 entry, Language language)
at ProtoCore.DSASM.Executive.Execute(Int32 exeblock, Int32 entry, List1 breakpoints, Language language) at ProtoCore.DSASM.Executive.BounceUsingExecutive(Executive executive, Int32 exeblock, Int32 entry, StackFrame stackFrame, Int32 locals, Boolean fepRun, Executive exec, List1 breakpoints)
at ProtoScript.Runners.ProtoScriptRunner.ExecuteLive(Core core, RuntimeCore runtimeCore)
at ProtoScript.Runners.LiveRunner.Execute(Boolean isCodeCompiled)
at ProtoScript.Runners.LiveRunner.CompileAndExecute(List1 astList) at ProtoScript.Runners.LiveRunner.CompileAndExecuteForDeltaExecution(List1 astList)
at ProtoScript.Runners.LiveRunner.SynchronizeInternal(GraphSyncData syncData)
at ProtoScript.Runners.LiveRunner.UpdateGraph(GraphSyncData syncData)
at Dynamo.Scheduler.UpdateGraphAsyncTask.HandleTaskExecutionCore()
at Dynamo.Scheduler.AsyncTask.Execute()
FYI: @aparajit-pratap @jasonstratton @mjkkirschner
@QilongTang I'll create a problem report for this.
I cannot reproduce this crash in Revit 2023 DynamoRevit 2.15, DynamoCore 2.17.
- The error about the parameter not existing is true, you are passing both groups and their elements to the SetParameter node, it fails for the groups, which don't have the parameter, but it correctly sets the values on the elements of the groups.
- I noticed something quite odd about this workspace, some of the versions of the packages that the workspace references feature notes do not match the versions you have annotated in the graph...
clockwork 1.x vs 2.x data shapes 2019 vs 2022
I will give it a shot with Revit 2022 and the installed versions of Dynamo that come with it.
Hi @cellophane303 - I can't reproduce this crash in 2022 either - but from re-reading your comment above it seems that I need a different version of your rvt project to reproduce this? Can you still provide that? If not unfortunately we'll have to close this until we can reproduce.
1. The error about the parameter not existing is true, you are passing both groups and their elements to the SetParameter node, it fails for the groups, which don't have the parameter, but it correctly sets the values on the elements of the groups. 2. I noticed something quite odd about this workspace, some of the versions of the packages that the workspace references feature notes do not match the versions you have annotated in the graph...clockwork 1.x vs 2.x data shapes 2019 vs 2022
- I added to the original forum thread in July. It seemed to have something to do with curtain wall being in the group. I'm not sure if it is specifically because of the curtain wall, or if it is because they don't have that parameter assigned.
- The annotations were created with Monocle, but there is a good chance I updated packages and didn't re-annotate after the update.
In the interim I did some playing around with the graphs. In 2023 it seems to work with no issues. In 2022 the original graph I posted above causes an error, but the adjusted graph appears to work fine.
Files in the zip: SetGroupElements-IsUnitGroup_2022-Original.dyn - the original graph from the beginning of this post SetGroupElements-IsUnitGroup_2022.dyn - updated version that seems to work SetGroupElements-IsUnitGroup_2023.dyn - 2023 version that seems to work with no issues. screenshots for each
I'll have to find a project that was causing issues- might take a little time.
Hi @cellophane303 - thanks for the zip - I also reread the forum thread, I think the CurtainWall issue was related to the other error you were getting - the ambiguous wrapper call.
so there are three issues you've seen with this graph
- ambiguous wrapper error
- a crash
- parameter not existing error -IMO this is expected, but I'll take a look at your other graph.
please do let us know if you are able to reproduce the crash and stack trace (issue 2), I will close this after a while, but feel free to reopen with files that repro.
Given that there has been no additional information added, this issue will be closed for now. Please reopen and provide additional information if you wish the Dynamo team to investigate further.
Hopefully this reopens this (I am not Git savvy)
Link to Project file (Revit 2022), Exception, & Dynamo graph enclosed https://drive.google.com/file/d/1nwqVBLsp_WdUhs972HwTb-MXCdUEER33/view?usp=share_link The units I'm trying to set the parameter for are the big mess off to the right of the main building. The units in the building will get the parameter set to No, rather than Yes. I don't think there are any curtain wall elements in the groups (but I could be wrong- I'm helping, not the main on this job)