Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

when referencing a number of alembic file in one .usda file,USD will crash! #184

Closed
iceprincefounder opened this issue Mar 24, 2017 · 5 comments

Comments

@iceprincefounder
Copy link

Description of Issue

I referenced about 5000 .abc files into one usda file,when loops gone to 1041th file,usdAbc plugin would crashed every time,I try to ignore that alembic file but I found that I could`t get so much alembic files into one usda file.
Actually,I had try to reference 500 alembic files,that worked perfect,but when number gone higher,the error will come out.
Here is come error message:

HDF5-DIAG: Error detected in HDF5 (1.8.18) thread 0:
  #000: /home/xukai/Documents/TestProgramFactory/deps_compile/hdf5_compile/hdf5-1.8.18/src/H5F.c line 439 in H5Fis_hdf5(): unable open file
    major: File accessibilty
    minor: Not an HDF5 file
  #001: /home/xukai/Documents/TestProgramFactory/deps_compile/hdf5_compile/hdf5-1.8.18/src/H5Fint.c line 554 in H5F_is_hdf5(): unable to open file
    major: Low-level I/O
    minor: Unable to initialize object
  #002: /home/xukai/Documents/TestProgramFactory/deps_compile/hdf5_compile/hdf5-1.8.18/src/H5FD.c line 993 in H5FD_open(): open failed
    major: Virtual File Layer
    minor: Unable to initialize object
  #003: /home/xukai/Documents/TestProgramFactory/deps_compile/hdf5_compile/hdf5-1.8.18/src/H5FDsec2.c line 339 in H5FD_sec2_open(): unable to open file: name = '/mnt/proj/software/develop/usd/usd_test_data/tea_street_a_asb/abc/treeman_room_treeman_tablelamp_AR.abc', errno = 24, error message = 'Too many open files', flags = 0, o_flags = 0
    major: File accessibilty
    minor: Unable to open file
Warning: in _ReportErrors at line 2474 of /mnt/proj/software/develop/usd/usd_git_repo/USD-lca-0.7.4/pxr/usd/lib/usd/stage.cpp -- Recomposing stage:
    Could not open asset @/mnt/proj/software/develop/usd/usd_test_data/tea_street_a_asb/abc/treeman_room_treeman_tablelamp_AR.abc@ for reference on prim @/home/xukai/Documents/TestDataFactory/tea_street/tea_street_a.usda@,@anon:0xe17ca0:tea_street_a-session.usda@</master/asb/treeman_room_AR/treeman_room_master/treeman_room_asb/treeman_room_treeman_room_grp/treeman_room_work_area_grp/treeman_room_work_1_grp/treeman_room_treeman_tablelamp_AR/master>.

Traceback (most recent call last):
  File "/home/xukai/Documents/TestProgramFactory/usd_protest/scripts/getAsbUsd.py", line 33, in <module>
pxr.Tf.ErrorException: 
	Error in 'UsdAbc_AlembicData::Open' at line 154 in file /mnt/proj/software/develop/usd/usd_git_repo/USD-lca-0.7.4/pxr/usd/plugin/usdAbc/alembicData.cpp : 'Failed to open Alembic archive "/mnt/proj/software/develop/usd/usd_test_data/tea_street_a_asb/abc/treeman_room_treeman_tablelamp_AR.abc": Unsupported format'

Steps to Reproduce

python script:

stage = Usd.Stage.CreateNew(aPath)
rootPrim = UsdGeom.Xform.Define(stage, '/'+root).GetPrim()
stage.SetDefaultPrim(rootPrim)
dMap = {<a map restore alembic file path>}
for x in dMap:
    prim = stage.DefinePrim(Sdf.Path(<path>), 'Xform')
    refPrim = stage.OverridePrim(Sdf.Path(<path>+"/master"))
    Usd.ModelAPI(refPrim).SetKind(Kind.Tokens.component)
    refPrim.GetReferences().AppendReference(dMap[x])
stage.GetRootLayer().Save()

System Information (OS, Hardware)

OS: centos 6.7 with devtoolset-2
Hardware:dell precesion

Package Versions

USD-master-v0.7.4

Build Flags

@spiffmon
Copy link
Member

spiffmon commented Mar 24, 2017 via email

@spiffmon
Copy link
Member

spiffmon commented Mar 24, 2017 via email

@jtran56
Copy link

jtran56 commented Mar 24, 2017

Filed as internal issue #144522.

@iceprincefounder
Copy link
Author

Hey spiffmon @spiffmon ,
I know there was some problem about HDF5 library so I just used all ogawa alembic file to be referenced,but usdAbc plugin would crash still,I wonder that does the usdAbc plugin always need HDF5 library?would it possiable to build usdAbc plugin without HDF5 library?
I will try ".usd" file later but I should use alembic file in our pipeline now,can your give us some suggestion to solve this?
Thank you very much!

@sunyab
Copy link
Contributor

sunyab commented Aug 8, 2017

Hi @iceprincefounder,

Starting from v0.7.6, you can build the usdAbc plugin without HDF5 by specifying PXR_ENABLE_HDF5_SUPPORT=FALSE when you run CMake.

We'd like to close this issue out for now. The problem you ran into seems to be either a file descriptor limit in your system or some other limit in Alembic and not directly related to USD, based on this error message:

#3: /home/xukai/Documents/TestProgramFactory/deps_compile/hdf5_compile/hdf5-1.8.18/src/H5FDsec2.c line 339 in H5FD_sec2_open(): unable to open file: name = '/mnt/proj/software/develop/usd/usd_test_data/tea_street_a_asb/abc/treeman_room_treeman_tablelamp_AR.abc', errno = 24, error message = 'Too many open files', flags = 0, o_flags = 0
major: File accessibilty
minor: Unable to open file

Please let us know if you think otherwise. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants