Skip to content

Autodesk: Fix Loading Large Size Image Crash with hioOpenEXR#3332

Open
erikaharrison-adsk wants to merge 1 commit into
PixarAnimationStudios:devfrom
autodesk-forks:adsk/bugfix/openexr-crash-fix
Open

Autodesk: Fix Loading Large Size Image Crash with hioOpenEXR#3332
erikaharrison-adsk wants to merge 1 commit into
PixarAnimationStudios:devfrom
autodesk-forks:adsk/bugfix/openexr-crash-fix

Conversation

@erikaharrison-adsk
Copy link
Copy Markdown
Contributor

Description of Change(s)

In USD 24.08, the crash when loading an extreme-sized texture returns. The root cause is that now USD uses Hio_OpenEXRImage instead of HioOiio to load the exr images, and there are issues in OpenEXRCore & HioOpenEXR.

This solution is to fix loading large-size image crashes mainly resulting from int overflows.

Related: #3119

Fixes Issue(s)

  • N/A
  • I have verified that all unit tests pass with the proposed changes
  • I have submitted a signed Contributor License Agreement

@jesschimein
Copy link
Copy Markdown
Collaborator

Filed as internal issue #USD-10227

@jesschimein
Copy link
Copy Markdown
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@meshula
Copy link
Copy Markdown
Member

meshula commented Oct 2, 2024

Thank you for these fixes. The changes to OpenEXRCore do not exist upstream, but the fixes are important enough that they should be upstreamed ~ we don't want the interned copy of OpenEXRCore to get ahead of the originating code with substantial changes like this. Could I ask that you also upstream the OpenEXRCore fixes to OpenEXR in parallel please? The OpenEXR test suite is supposed to be robust enough to catch very large files and so on, so could you also post at OpenEXR how to repro the failure? This should have been caught OpenEXR side :)

Thanks!

@adskWangl
Copy link
Copy Markdown
Contributor

Thank you for these fixes. The changes to OpenEXRCore do not exist upstream, but the fixes are important enough that they should be upstreamed ~ we don't want the interned copy of OpenEXRCore to get ahead of the originating code with substantial changes like this. Could I ask that you also upstream the OpenEXRCore fixes to OpenEXR in parallel please? The OpenEXR test suite is supposed to be robust enough to catch very large files and so on, so could you also post at OpenEXR how to repro the failure? This should have been caught OpenEXR side :)

Thanks!

Thank you for your response! I'll try to reproduce this failure with an independent OpenEXR case and upstream the OpenEXRCore fixes to OpenEXR as this fix is also important to us.

@jesschimein jesschimein added the blocked Issue fix or pull request blocked until questions are answered or pending notes are addressed label Nov 27, 2024
@erikaharrison-adsk erikaharrison-adsk force-pushed the adsk/bugfix/openexr-crash-fix branch from 8f74647 to 8a9037e Compare June 1, 2026 23:13
@adskWangl
Copy link
Copy Markdown
Contributor

@meshula sorry for the delay. The fix in OpenEXRCore has been submitted into OpenEXR and I assume you'll update OpenEXR sometime. So for this PR, I now limit the scope of changes to the USD code itself.

@meshula
Copy link
Copy Markdown
Member

meshula commented Jun 2, 2026

Thanks @adskWangl !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked Issue fix or pull request blocked until questions are answered or pending notes are addressed

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

5 participants