ID 321776 - ReadGeo node will crash Nuke if reloading a referenced Alembic file that has had an object removed and the alembic overwritten externally

Follow

Problem summary
Nuke has an issue with reading in altered alembic files, if Nuke gets closed before the alembic change and opened after the altered alembic is created it will crash on open. For example, If a ReadGeo node imports an alembic file (with several meshes) and the user creates several ReadGeo nodes that are cloned to create individual meshes, once the original alembic is replaced after Nuke has been closed, when re-opening Nuke will crash.

This has only been reproduced when Nuke is closed, but there has been a case where the error occurs with Nuke remaining open when refreshing the ReadGeo node.

Customer reported version
nuke.10.5v5

Customer reported platform
centos7

Steps to reproduce

1) Open up Modo, create 3 separate meshes (spheres work well)

2) Export meshes as .abc (not HDF version)

3) Save Modo scene

3) Open Nuke

4) Create a ReadGeo node

5) Browse to exported .abc and create as 'all-in-one-node'

6) Delete Camera (not needed)

7) Copy/pasted ReadGeo two times to make three ReadGeo nodes

8) Open ReadGeo node and selected three meshes and right clicked 'deselect' to only have one visible mesh per ReadGeo node

9) Repeated above steps over all three ReadGeo nodes, to create three independent read nodes with different meshes

10) Save Nuke script and close **closing is important to reproduce the issue**

11) Re-open Modo scene

12) Delete a mesh

13) Export and overwrite current .abc file

14) Save Modo

15) Open Nuke
Result: Nuke crashes on load

Workaround
There are two workarounds for this issue:

1) Avoid the issue by keeping Nuke open when you replace the alembic file and don't close till the alembics are reloaded into the ReadGeo nodes and then save and close
** If Nuke crashes when you are reloading the ReadGeo nodes, go to step 2**

2) If the script is already corrupt or you get the crash on reloading the ReadGeo node, the next suggested option is to alter the script to delete the corrupt ReadGeo nodes by doing the following:

a) Open up corrupt Nuke script in a text editor

b) Delete the ReadGeo nodes causing the issue and save

c) Open Nuke script and recreate the ReadGeo nodes again, only using the changed alembic files.

Reproduced by support
This bug has been reproduced in:
Nuke 11.0v3 - CentOS 6.9 - MacOSX 10.13 - Windows 7
Nuke 10.5v5 - CentOS 6.9/CentOS 7.3 - MacOSX 10.13 - Windows 7
Nuke 10.5v1 - CentOS 6.9
Nuke 10.0v6 - CentOS 6.9
Nuke 10.0v1 - CentOS 6.9 - MacOSX 10.13 - Windows 7
Nuke 9.0v9 - CentOS 6.9
Nuke 9.0v1 - CentOS 6.9
Nuke 8.0v7 - CentOS 6.9
Nuke 8.0v1 - CentOS 6.9 - MacOSX 10.13 - Windows 7 

Unable to reproduce bug in:
Nuke 7.0v10 - CentOS 6.9 - MacOSX 10.13 - Windows 7 


Earliest version tested:
Nuke 7.0v10 - CentOS 6.9 - MacOSX 10.13 - Windows
- Issue no longer appears in this version as alembic files with multiple meshes are not supported for this version.

Expected behaviour
You should be able to close a Nuke script that is referencing a changed alembic and re-open referencing the new alembic with no crash (or an error message saying that the alembic has changed)

Actual behaviour
When you load a Nuke script that was linked to an alembic that has been changed, you get a crash on loading.

    We're sorry to hear that

    Please tell us why