Problem summary
When you rename a render node's 'passName', the parameter will look for special characters ( +=!@#$%^&* etc ) and will convert them into a '_' to fix any issues.
If a user decides to name the parameter via an expression from another node, it will not convert the special characters. (But will convert the display name)
This can lead to unexpected behaviour when using render dependencies and expecting render node name and pass name to stay the same.
This also happens to other nodes, for example if you change the 'Material' node it will replace the node graph name but not its name.
Customer reported version
katana.2_5v4
Customer reported platform
centos6
Steps to reproduce
1. Create a Group node and a Render node.
2. Create a custom user string parameter on group node a set value to "foo".
3. Copy parameter via right-click context menu.
4. Paste as expression on passName parameter on the Render node.
5. Change user string parameter on the Group node to "bar".
Notice that the Render node name changed to "bar".
6. Change user string parameter on the Group node to "bar+".
Result: notice that the Render node name changed to "bar_" but the passName value stays "bar+", pass name and render node name are out of sync.
Workaround
No current workaround, double check that the expressioned name has no special characters.
Reproduced by support
Katana2.6v3 - Windows 7 - CentOS6.9
Katana2.6v1 - Windows 7 - CentOS6.9
Katana2.5v7 - Windows 7 - CentOS6.9
Katana2.5v4 - Windows 7 - CentOS6.9
Katana2.5v1 - Windows 7 - CentOS6.9
Earliest version tested
Katana2.5v1
Expected behaviour
The Render node should recognise the special characters given by the expression and convert them.
Actual behaviour
The Render node does not convert the special characters causing an out of sync between the passName and the Render node's name