ID 253605 - Nuke command sessions error when an error view is not rendered if the view has a filter or transform node applied

Follow

Problem summary
Nuke render sessions error when an error view is not rendered if the view has a filter or transform node applied.

Customer reported version
nuke.10.0v5

Customer reported platform
n_a_linux

Steps to reproduce

1) Open the attached Nuke script

2) Set the Write node to render to a local drive and save a Nuke script

3) Render the Nuke script using the below command:

<Nuke> -x --view main erroredView.nk 1

4) The Nuke script will error. Disable the Blur node, then save and render the script again. This time it will render.

Workaround
Split and Join the views, and add Switch nodes to disabled errored inputs. An example Python script to do this is below:

def create_viewsplitswitchjoin():

    views = nuke.views()
    if len(views) < 2:
        nuke.message("Only one view, nothing to split and rejoin.")
        return

    sel = nuke.selectedNode()
    if sel == None:
        nuke.message("You need to select a node to split views from and rejoin.")
        return

    oneViewNodes = []
    switchNodes = []
    for i in views:
        n = nuke.createNode("OneView", inpanel=False)
        n.knob("label").setValue(i) 
        oneViewNodes.append(n)
        s = nuke.createNode("Switch", inpanel=False)
        s.knob("label").setValue(i)
        s.knob("which").setExpression("this.error")
        switchNodes.append(s)

    selx = sel.knob("xpos").getValue()
    sely = sel.knob("ypos").getValue()

    join = nuke.createNode("JoinViews", inpanel=False)

    for idx in range(0, len(oneViewNodes)):
        oneViewNodes[idx].knob("view").setValue(idx + 1)
        oneViewNodes[idx].setInput(0, sel)
        oneViewNodes[idx].knob("xpos").setValue(selx + idx * 100 - (len(oneViewNodes)-1)*50)
        oneViewNodes[idx].knob("ypos").setValue(sely + 90)

        switchNodes[idx].setInput(0, oneViewNodes[idx])
        switchNodes[idx].knob("xpos").setValue(selx + idx * 100 - (len(switchNodes)-1)*50)
        switchNodes[idx].knob("ypos").setValue(sely + 130)
        join.setInput(idx, switchNodes[idx])

    join.knob("xpos").setValue(selx)
    join.knob("ypos").setValue(sely + 220)

create_viewsplitswitchjoin()
Reproduced by support
This problem has been reproduced on:
Nuke 10.5v1 - Windows 10 - CentOS 6.8 
Nuke 10.0v5 - Windows 10
Nuke 10.0v1 - Windows 10
Nuke 9.0v9 - Windows 10
Nuke 9.0v1 - Windows 10
Nuke 8.0v6 - Windows 10 - CentOS 6.8 

Expected behaviour
For Nuke to render the script

Actual behaviour
It errored, trying to calculate upstream nodes it didn't need fot the render

    We're sorry to hear that

    Please tell us why