Problem summary
node.sample() uses all the system RAM when querying many channel .exr files with ZIP(16 Scanline) and PIZ Wavelet(32 Scanline) compression
Customer reported version
nuke.n/a
Steps to reproduce
1) Open Nuke
2) Read in the attach .exr file
3) Select the read node and run the below script:
node=nuke.selectedNode()for i,channel in enumerate(node.channels()): print i,channel node.sample(channel,633,633)
4) Check the amount to system RAM being used, Nuke will eventually use it all, locking up the system.
This does not seem to happen with other compression types, such as None, ZIP(1 Scanline) or RLE.
Workaround
Use other types of .exr compression, such as ZIP(1 Scanline) or RLE.
Reproduced by support
This problem has been reproduced on:
Nuke 11.0v2 - CentOS 6.9 -
Nuke 10.5v2 - Windows 10 - CentOS 6.8 - MacOSX 10.12
Nuke 10.5v1 - Windows 10
Nuke 10.0v6 - Windows 10
Nuke 10.0v1 - Windows 10
Nuke 9.0v9 - Windows 10
Nuke 9.0v1 - Windows 10 - CentOS 6.8 - MacOSX 10.12
This was not reproduced on:
Nuke 8.0v7 - Windows 10 - CentOS 6.8 - MacOSX 10.12
Expected behaviour
For Nuke to sample one pixel on all the layers, without loading them all into Memory
Actual behaviour
It filled the system memory, grinding the system to a halt