E_Holdout causing compile errors/crashing

I just noticed the below errors in the terminal when adding a E_Holdout node. Nuke will crash when trying to render after this.

  • Eddy version: 1.6.1

  • Nuke version: 10.5v5

  • Operating system: Centos 7

  • GPU model: GTX 1080TI

  • Graphics driver version: 384.59

  • Is the bug reproducible? Does it happen every time, occasionally, or only once? yes

  • Steps to reproduce the bug:
    open attached nuke script, connect E_Holdout and hit play on the (2D) viewer to see the rendered result
    WAKA_A_010_volcanoSmoke_v01.nk (8.0 KB)

    Eddy[INFO] - Inserting 11550 new buckets. (11550 new mem block allocations). Sparse grid now has 11550 active buckets
    Eddy[INFO] - Deleting 7881 buckets. Sparse grid now has 3669 active buckets
    Eddy[ERROR] - Traceback (most recent call last):
    File “EddyScript.eddyscript.compiler.cpp”, line 57, in EddyScript.eddyscript.compiler.generateIR_from_source_as_string
    File “EddyScript.eddyscript.compiler.cpp”, line 48, in EddyScript.eddyscript.compiler.generateIR_from_source
    File “EddyScript.eddyscript.compiler.cpp”, line 45, in EddyScript.eddyscript.compiler.generateIR_from_source
    File “EddyScript.eddyscript.astVisitors.cpp”, line 370, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 368, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 387, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Module
    File “EddyScript.eddyscript.astVisitors.cpp”, line 376, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_statements
    File “EddyScript.eddyscript.astVisitors.cpp”, line 370, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 368, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 441, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_FunctionDef
    File “/usr/local/Nuke10.5v5/lib/python2.7/ast.py”, line 241, in visit
    return visitor(node)
    File “EddyScript.eddyscript.astVisitors.cpp”, line 81, in EddyScript.eddyscript.astVisitors.AstVisitorTypeInfer.visit_Assign
    File “EddyScript.eddyscript.astVisitors.cpp”, line 370, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 368, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 825, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Call
    File “EddyScript.eddyscript.astVisitors.cpp”, line 827, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Call
    File “EddyScript.eddyscript.astVisitors.cpp”, line 370, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 368, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 725, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Attribute
    File “EddyScript.eddyscript.astVisitors.cpp”, line 726, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Attribute
    File “EddyScript.eddyscript.astVisitors.cpp”, line 370, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 368, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit
    File “EddyScript.eddyscript.astVisitors.cpp”, line 538, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Name
    File “EddyScript.eddyscript.astVisitors.cpp”, line 559, in EddyScript.eddyscript.astVisitors.AstVisitorLLVM.visit_Name
    AstVisitException: AstVisitException:


    55: settings=[‘absorption_coefficient_vec:Float3:[1.0, 1.0, 1.0]’,
    56: ‘scattering_coefficient_vec:Float3:[1.0, 1.0, 1.0]’,
    57: ])
    58: def shader_absorption_scattering(shader_data=ExpressionDeviceData, position=Float3, sample=AbsorptionScatteringSample):
    59: density = fields.density(shader_data, position)
    ^
    compile error [59:14] - Undefined symbol “fields”

    Eddy[ERROR] - Failed to generate shader script. Empty ptx buffer received from compiler.

    Eddy[WARNING] - Empty bounds detected. Aborting render.
    EddyNuke[ERROR] - [EddyRender] Failed to create render state, not rendering

Hi Frank,

This error usually happens when one of the input fields to the E_Shader is invalid. This shouldn’t have caused a Nuke crash, I’ll have a look at the script and see what the cause could be.

–Ronnie

just a quick follow up since Matt reminded me in email:
I must have done something stupid when this happened as it is working just fine now.
But yeah, crashing is not a good reaction.