Remedy-Entertainment/usdFBX

If UV set name contains a full stop, it crashes the Python interpreter

Opened this issue · 2 comments

We encountered a crash when opening an fbx scene containing a uv set with a "." in the name.

Quick repro:

  • Create a cube in Maya
  • Add a second Uv Set named UvSet.001
  • Make sure it has faces assigned (create an automatic layout)
  • Export the cube as fbx file
  • In Python try to open the fbx from Usd
from pxr import Usd
Usd.Stage.Open("cube.fbx")
  • Observe the interpreter crashing

This will actually be fixed in an upcoming merge from an internal release. The issue was that some of these names coming from the FBX scene were not sanitized correctly for SdfPath usage. This caused a cascading stream of errors and in your case likely a segfault due to dereffing or using a nullptr.

The latter is of course speculation without seeing a stack trace, but I've at least encountered it several times so I suspect it to be that.

@friedererdmann Apologies for the long delay but this has been merged into master. Could you verify this works now?