Crash when exporting 16-bit single channel textures from UE4 to Omniverse


Create a greyscale 16-bit image in photoshop (pure white 1024x1024 will reproduce the error)
Save as .png
Import into UE4, leave compression as ‘default’
Right click ‘export to Omniverse’

Expected behavior:

Texture is exported to Nucleus

Actual behavior:

Unreal will hard crash with the following error (array size will change depending on the texture):

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 703] Array index out of bounds: 2097152 from an array of size 2097152

Unreal 4.27.2
Latest connector at time of posting

Are there any workarounds known for this?

Thanks for reporting this Alex, we’re going to look into it. We are tracking this internally with issue OM-54391.

I’d like to be sure that you were running 4.27 version 105.1.276, please confirm.

Yes -

Hi Alex,
I can’t repro your issue with the greyscale 16-bit image. So could you please send me your crashed UE asset? Maybe there’s something else caused the crash.

Hello - apologies for the long delay in replying.

The error really is any 16-bit grey scale image - I’ve uploaded one to google drive here:

I suspect this has more to do with the graphics driver - the machine(s) which demonstrate this issue are VMs with Windows Server build 1809 (17763.2928), and hence also (according to our datacenter managers) limited to a particular GPU driver.

We’re running 50% of a A40 per machine, and GPU driver 512.78. Omniverse ‘create’ complains about this, but appears to run just fine.

Is this a possible cause?

I just took a quick exporting with your png and it’s fine for me. I’ll let our QA also have the test.
BTW, the png is 16bit, but it’s not 16bit grey png.