SystemError: initialization of ... raised unreported exception when loading a schema extension

Hi all,

I have created a schema extension to provide some project-specific prim types. The extension works fine when I configure it to be loaded in the Isaac Sim Extension Manager.

Now I want to load it in a different context: I want to run kit from the command line in headless mode

./kit --enable dbs.ipm.schema.tracksystem --no-window

I get this as output:

[Info] [carb] Logging to file: /var/log/nvidia-omniverse/Kit/kit/104.1/kit_20230613_115159.log
[0.132s] [ext: omni.usd.config-1.0.0] startup
[0.141s] [ext: omni.usd.libs-1.0.0] startup
[0.251s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] startup
2023-06-13 09:51:59 [261ms] [Error] [omni.ext._impl._internal] Failed to import python module dbs.ipm.schema.Tracksystem from /opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37. Error: initialization of _dbsipmschemaTracksystem raised unreported exception. Traceback:
Traceback (most recent call last):
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py", line 162, in _custom_importer
    return _import_public(ext_module.path, ext_module.name, reload_enabled)
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py", line 83, in _import_public
    module = import_module(module_name)
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/carb/profiler/__init__.py", line 79, in wrapper
    r = f(*args, **kwds)
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/custom_importer.py", line 76, in import_module
    return importlib.import_module(name)
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37/dbs/ipm/schema/Tracksystem/__init__.py", line 9, in <module>
    from . import _dbsipmschemaTracksystem
SystemError: initialization of _dbsipmschemaTracksystem raised unreported exception

2023-06-13 09:51:59 [262ms] [Error] [carb.scripting-python.plugin] Exception: Extension python module: 'dbs.ipm.schema.Tracksystem' in '/opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37' failed to load.

At:
  /opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py(188): startup
  /opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py(280): startup_extension
  PythonExtension.cpp::startup()(2): <module>

2023-06-13 09:51:59 [262ms] [Error] [omni.ext.plugin] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] Failed to startup python extension.
[0.279s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] shutdown
[0.279s] [ext: omni.usd.libs-1.0.0] shutdown
[0.287s] [ext: omni.usd.config-1.0.0] shutdown

Thanks for any help
Bruno

This is the log output with info messages

...
2023-06-13 10:02:51 [155ms] [Info] [carb] Registered plugin: omni.usd-abi.plugin (interfaces: [omni::usd::IPathAbi v0.1],[omni::usd::IRenderProductPrimFactory v1.2],[omni::usd::IResolverPathAbi v0.2],[omni::usd::ITokenAbi v0.2]) (impl: omni.usd-abi.plugin)                                                                                                                                                      
2023-06-13 10:02:51 [221ms] [Info] [omni.ext._impl._internal] Searching for classes derived from 'omni.ext.IExt' in 'pxr.Sdf' ('/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/extscore/omni.usd.libs')                                                                                                                                                                                                         
2023-06-13 10:02:51 [221ms] [Info] [omni.ext.plugin] [ext: omni.usd.libs-1.0.0] started, startup time: 110 (ms)                                                                                            
2023-06-13 10:02:51 [221ms] [Info] [omni.ext.plugin] About to startup: [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] (order: -150) Triggered by API/CLI/Config. (path: /opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37)                                                                                                        
2023-06-13 10:02:51 [221ms] [Info] [omni.kit.app.plugin] [0.228s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] startup                                                                  
[0.228s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] startup                                                                                                                           
2023-06-13 10:02:51 [241ms] [Error] [omni.ext._impl._internal] Failed to import python module dbs.ipm.schema.Tracksystem from /opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37. Error: initialization of _dbsipmschemaTracksystem raised unreported exception. Traceback:                                                                         
Traceback (most recent call last):                                                                                                                                                                         
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py", line 162, in _custom_importer                                                                         
    return _import_public(ext_module.path, ext_module.name, reload_enabled)                                                                                                                                
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py", line 83, in _import_public                                                                            
    module = import_module(module_name)                                                                                                                                                                    
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/carb/profiler/__init__.py", line 79, in wrapper                                                                                     
    r = f(*args, **kwds)                                                                                                                                                                                   
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/custom_importer.py", line 76, in import_module                                                                       
    return importlib.import_module(name)                                                                                                                                                                   
  File "/opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/python/lib/python3.7/importlib/__init__.py", line 127, in import_module                                                                       
    return _bootstrap._gcd_import(name[level:], package, level)                                                                                                                                            
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import                                                                                                                                          
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load                                                                                                                                        
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked                                                                                                                               
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked                                                                                                                                        
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module                                                                                                                                  
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed                                                                                                                             
  File "/opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37/dbs/ipm/schema/Tracksystem/__init__.py", line 9, in <module>                  
    from . import _dbsipmschemaTracksystem                                                                                                                                                                 
SystemError: initialization of _dbsipmschemaTracksystem raised unreported exception                                                                                                                        
                                                                                                                                                                                                           
2023-06-13 10:02:51 [241ms] [Error] [carb.scripting-python.plugin] Exception: Extension python module: 'dbs.ipm.schema.Tracksystem' in '/opt/nvidia-omniverse/data/Kit/kit/104.1/exts/3/dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee+lx64.r.cp37' failed to load.                                                                                                                                         
                                                                                                                                                                                                           
At:                                                                                                                                                                                                        
  /opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py(188): startup                                                                                                 
  /opt/nvidia-omniverse/library/isaac_sim-2022.2.0/kit/kernel/py/omni/ext/_impl/_internal.py(280): startup_extension                                                                                       
  PythonExtension.cpp::startup()(2): <module>                                                                                                                                                              
                                                                                                                                                                                                           
2023-06-13 10:02:51 [241ms] [Error] [omni.ext.plugin] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] Failed to startup python extension.                                                  
2023-06-13 10:02:51 [249ms] [Info] [omni.ext.plugin] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] started, startup time: 27 (ms)                                                        
2023-06-13 10:02:51 [249ms] [Info] [omni.kit.app.plugin] No run loop was found, quiting...                                                                                                                 
2023-06-13 10:02:51 [249ms] [Info] [omni.kit.app.plugin] Application auto-quits as it worked for the specified number of frames: 0                                                                         
2023-06-13 10:02:51 [249ms] [Info] [omni.kit.app.plugin] app started                                                                                                                                       
2023-06-13 10:02:51 [249ms] [Info] [carb] Initializing plugin: carb.threadtime-tracker.plugin (interfaces: [carb::threadtimetracker::IThreadTimeTracker v1.0]) (impl: carb.threadtime-tracker.plugin)      
2023-06-13 10:02:51 [249ms] [Info] [omni.kit.app.plugin] [0.256s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] shutdown                                                                 
[0.256s] [ext: dbs.ipm.schema.tracksystem-0.0.44-20230612130459-77814ee] shutdown                                                                                                                          
2023-06-13 10:02:51 [249ms] [Info] [omni.kit.app.plugin] [0.256s] [ext: omni.usd.libs-1.0.0] shutdown                                                                                                      
[0.256s] [ext: omni.usd.libs-1.0.0] shutdown                                                                                                                                                               
2023-06-13 10:02:51 [258ms] [Info] [omni.kit.app.plugin] [0.265s] [ext: omni.usd.config-1.0.0] shutdown                                                                                                    
[0.265s] [ext: omni.usd.config-1.0.0] shutdown

Interestingly, the problem disappears if I add omni.usd.schema.physics as a dependency. Strangely, my schema extension should not rely on omni.usd.schema.physics…

Hi Bruno. How are you creating the schema? In Kit 104, I don’t think we’ve provided a public way to compile the schemas for OV and codeless schemas aren’t supported either.

Hi @mati-nvidia,
I am using this: GitHub - NVIDIA-Omniverse/kit-extension-template-cpp: Omniverse Kit C++ Extension Template

With some help from Ales.

Best,
Bruno

Hi Bruno,
is your track joint not derived from UsdPhysics Joint? Then the missing dependency would make sense. Note that in 105.0 the UsdPhysics will be part of stock USD, so this dependency would not be required.
It might be that if you tried to modify one of the schema examples that I gave you that the UsdPhysics is somewhere there added. It could be in your schema file for example at the top part.

Regards,
Ales

Hi Ales,

the extension I am talking about right now is not the TrackJoint extension, but something related. It only includes a couple of new prim types that have no Physx dependency.

By the way, the problem also goes away if I enable omni.usd along with dbs.ipm.schema.tracksystem. The dbs.ipm.schema.tracksystem has only omni.usd.libs as a dependency.