Page MenuHome

compositor can not open this specific exr
Closed, ResolvedPublic


System Information
Operating system: Windows-7-6.1.7601-SP1 64 Bits
Graphics card: GeForce GTX 970/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 436.48

Blender Version
Broken: version: 2.81 (sub 15), branch: master, commit date: 2019-10-12 15:33, hash: rB95f020c853d6
Worked: 2.79

Short description of error
I can't open this multilayer EXR file in the Compositor.
The image is 3000x3000px rendered in Cycles.

The file is big, so I had to compress it, please download it from this link:

thank you.

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Oct 21 2019, 11:46 AM

Hm, seems to be working fine here:

What happens exactly? does it crash? just wont open? hang?
Just a stab in the dark: have you checked with Factory Settings and/or a fresh build?
[ looks awesome btw. :) ]

mmm, I get an X in the middle of the preview.

Philipp Oeser (lichtwerk) raised the priority of this task from Needs Information from User to Waiting for Developer to Reproduce.Oct 21 2019, 12:23 PM

On Windows with 2.80 system console says: IMB_loadifffile: couldn't get mapping C:\Users\Nathan\Downloads\wip_191020_v01.exr. I am guessing the same happens for @Massimiliano Puliero (mmaaxx) . See Window > Toggle System Console.

Not getting this on linux.
Since mmap seems to be in use here, not sure if this is related?

Probably it's crossing some kind of 2GB limit.

This might work (need to test on Windows):

diff --git a/intern/guardedalloc/intern/mmap_win.c b/intern/guardedalloc/intern/mmap_win.c
index 5b0c4b6614a..ff4fa4ae886 100644
--- a/intern/guardedalloc/intern/mmap_win.c
+++ b/intern/guardedalloc/intern/mmap_win.c
@@ -125,8 +125,10 @@ void *mmap(void *UNUSED(start), size_t len, int prot, int flags, int fd, off_t o

-  /* note len is passed to a 32 bit DWORD, so can't be > 4 GB */
-  maphandle = CreateFileMapping(fhandle, NULL, prot_flags, 0, len, NULL);
+  /* Split 64 bit size into low and high bits. */
+  DWORD len_bits_high = len >> 32;
+  DWORD len_bits_low = len & 0xFFFFFFFF;
+  maphandle = CreateFileMapping(fhandle, NULL, prot_flags, len_bits_high, len_bits_low, NULL);
   if (maphandle == 0) {
     errno = EBADF;
     return MAP_FAILED;
Brecht Van Lommel (brecht) lowered the priority of this task from Waiting for Developer to Reproduce to Confirmed, Medium.Wed, Nov 6, 4:38 PM