Problem summary
When creating a new user knob within a LiveGroup, when the external script is published, if the node is either copied or the script is closed/reopened the LiveGroup node will become corrupt and the following error message will occur:
This issue only occurs in Nuke 11.1v3 releases and later and on all three major operating systems.
Customer reported version
nuke.11.1v3
Customer reported platform
10.12
Steps to reproduce
1) Create a new Nuke script
2) Create a 'CheckerBoard' node
3) Create a 'Write' node and set the 'file' to save to any directory and any file extension
4) Save the new Nuke script as 'Nuke_Script.nk'
5) Clear the Nuke script
6) Create a 'LiveGroup' node
7) In the 'file' directory locate the 'Nuke_Script.nk' script to load into the 'LiveGroup' (see below)
8) Once the script is loaded, create a 'Check Box' user knob by:
a) Right-clicking in an empty area in the 'LiveGroup' properties bin
b) Selecting 'Manage User Knobs'
c) Clicking 'Add'
d) Selecting the 'Check Box' knob
e) Naming the knob 'Test' and also label it as 'Test'
This will create the following user knob (see below)
9) Next, check the box to activate the user knob
10) In the 'LiveGroup' tab, select 'Publish' to publish the 'LiveGroup' (overwriting the existing script)
11) Copy the 'LiveGroup' Result: The end_group_command error occurs and the 'LiveGroup' is corrupt/empty
To confirm this only occurs when user knobs are activated.
12) Turn off the original 'LiveGroup' node's 'Test' Check Box
13) Publish the 'LiveGroup' and copy it again Result: Works as expected
Note: As mentioned above, this also occurs on closing and re-saving the script. Avoid doing this if possible during testing as this will corrupt the original created script.
Workaround
As the issue appears to be caused by a missing 'end_group' command in the 'LiveGroup' node, it is possible to add in the missing line of code within a text editor.
Please note: Copy your original script to a safe location before proceeding, as we will be editing the script itself and doing this incorrectly can result in corrupting your script!
1) Within a Nuke script:
a) Add the 'end_group' within the 'LiveGroup' as the last operation of the 'LiveGroup' to close the group correctly. (see below)
b) When the Nuke script is re-opened, before publishing, reload the script.
2) Within a Copy/paste snippet:
a) Add the 'end_group' at the last line of 'LiveGroup' snippet to close the group correctly. (see below)
b) When pasted in the script before publishing, reload the script.
Reproduced by support
This bug has been reproduced in:
Nuke 11.1v4 - Windows 7 - MacOS 10.13.4 - CentOS 6.9
Nuke 11.1v3 - Windows 7 - MacOS 10.13.4 - CentOS 6.9 - regression
Unable to reproduce bug in:
Nuke 11.1v2 - Windows 7 - MacOS 10.13.4 - CentOS 6.9
Earliest version tested
Nuke 11.1v2
- This issue no longer appears in this version and has regressed
Expected behaviour
When adding a user knob to the LiveGroup, if the node is copied or the script is saved and re-opened the 'end_group' command should be retained.
Actual behaviour
When adding a user knob to the LiveGroup, if the node is copied or the script is saved and re-opened the 'end_group' command is not retained and corrupts the referenced LiveGroup script.