-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Comments
Hi Kevin,
This /sounds/ like an hdf5 limitation over which USD has no control. Are you able to simply, in the same program/script, open 5000 hdf5 files (keeping open all them as you open each successive one)? USD needs to keep the files open, or else performance will be truly abysmal.
Also, the Alembic project has, I believe, deprecated hdf5, even though they still continue to provide backwards compatibility. You will almost certainly have better luck with Ogawa Alembic files. Of course, in the context of USD consumption, you will see an order of magnitude better performance from native .usd files, if that can fit in your pipeline.
… On Mar 23, 2017, at 11:05 PM, Kevin Tsui ***@***.***> wrote:
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
#1: /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
#2: /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
#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
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@***@***.***: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
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
This could also be a problem of exceeding the file descriptor limit of your OS, in which case ogawa will fare no better, though .usd files do not suffer from the problem. There are ways of increasing the file descriptor buffer size, depending on your platform.
… On Mar 23, 2017, at 11:05 PM, Kevin Tsui ***@***.***> wrote:
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
#1: /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
#2: /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
#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
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@***@***.***: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
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Filed as internal issue #144522. |
Hey spiffmon @spiffmon , |
Starting from v0.7.6, you can build the usdAbc plugin without HDF5 by specifying 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:
Please let us know if you think otherwise. Thanks! |
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:
Steps to Reproduce
python script:
System Information (OS, Hardware)
OS: centos 6.7 with devtoolset-2
Hardware:dell precesion
Package Versions
USD-master-v0.7.4
Build Flags
The text was updated successfully, but these errors were encountered: