Alembic animated content import #57377

Closed
opened 2018-10-25 08:59:34 +02:00 by danny austin · 15 comments

System Information
Windows 10 pro + x2 GTX 980 x1 Quadro K2200

Blender Version
Broken: 2.8 Alpha 2 2018-10-25 00:15 Hash: bf34f95a9e
Worked: (optional)

Short description of error
Blender crashes/quits/exits when animated alembic content is imported at 0.01 scale from 3ds max 2019
Blender crashed when animated alembic content is imported at scale 1.0 and the timeline is moved (frame advance)

Exact steps for others to reproduce the error
export alembic from 3ds max 2019 inc animated noise modifier on plane
import alembic to blender using set frame range and is sequence turned on
advance timeline slider

**System Information** Windows 10 pro + x2 GTX 980 x1 Quadro K2200 **Blender Version** Broken: 2.8 Alpha 2 2018-10-25 00:15 Hash: bf34f95a9ed Worked: (optional) **Short description of error** Blender crashes/quits/exits when animated alembic content is imported at 0.01 scale from 3ds max 2019 Blender crashed when animated alembic content is imported at scale 1.0 and the timeline is moved (frame advance) **Exact steps for others to reproduce the error** export alembic from 3ds max 2019 inc animated noise modifier on plane import alembic to blender using set frame range and is sequence turned on advance timeline slider
Author

Added subscriber: @danny.austin

Added subscriber: @danny.austin
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Cannot reproduce (when exporting from blender itself)

Cold you share the .abc that was exported from max (so we can reproduce)?

Marking as incomplete until we have that...

Cannot reproduce (when exporting from blender itself) Cold you share the .abc that was exported from max (so we can reproduce)? Marking as incomplete until we have that...
Author
here it is https://setvisions-my.sharepoint.com/:u:/g/personal/danny_austin_setvisions_co_uk/EbTro74J7d5PgJhy4b5VdzkB6bqx-KMbk5NE7ymu4bubSg?e=3zcjfY
Author

let me know if you have any issues downloading

let me know if you have any issues downloading
Member

There seems to be a curve in the .abc as well (Circle.001)?

/opt/lib/alembic/bin/abcls test.ABC 
Plane001   Camera001   Box001   VRayLight001   VRayLight001.Target   Circle001

That seems to cause errors on my side (crash in curve drawing code - which needs to be looked at...)
However, could we first make a test again and try without curves [and maybe a little less verts/frames -- 300MB download is unneccessary, no?]
Because disabeling curve drawing in code makes the file import correctly [no crash at .1 scale, no crash at changing frames]

This way we can confirm this is a "curve-only" issue...

There seems to be a curve in the .abc as well (`Circle.001`)? ``` /opt/lib/alembic/bin/abcls test.ABC Plane001 Camera001 Box001 VRayLight001 VRayLight001.Target Circle001 ``` That seems to cause errors on my side (crash in curve drawing code - which needs to be looked at...) However, could we first make a test again and try without curves [and maybe a little less verts/frames -- 300MB download is unneccessary, no?] Because disabeling curve drawing in code makes the file import correctly [no crash at .1 scale, no crash at changing frames] This way we can confirm this is a "curve-only" issue...
Author

Hi,
I have done a lower resolution test with the same track animation for the camera.
Interestingly, the camera is not animated in the ABC file.. That being said, it no longer crashed. Files attached

3ds max 2019
Blender 2.8
alembic test.max

alembic test.blend

Hi, I have done a lower resolution test with the same track animation for the camera. Interestingly, the camera is not animated in the ABC file.. That being said, it no longer crashed. Files attached 3ds max 2019 Blender 2.8 [alembic test.max](https://archive.blender.org/developer/F5239009/alembic_test.max) [alembic test.blend](https://archive.blender.org/developer/F5239012/alembic_test.blend)
Member

we need the updated .abc as well...

we need the updated .abc as well...
Author

test.ABC
file uploaded

[test.ABC](https://archive.blender.org/developer/F5241189/test.ABC) file uploaded
Author

Hi,

Attached is a scene from 3ds max with no animation exported as Alembic. Blender 2.8 crashes when I import this. MarkScene.ABC

Hi, Attached is a scene from 3ds max with no animation exported as Alembic. Blender 2.8 crashes when I import this. [MarkScene.ABC](https://archive.blender.org/developer/F5281797/MarkScene.ABC)
Member

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren
Member

We are seeing a couple of issues here (possibly we'll be splitting these in distinct reports if neccessary):


Regarding import of test.ABC in a new file:

  • cannot reproduce missing camera animation [Camera001 doing a proper turnaround here...]
  • curve is still in the .abc? [I assume this is the path the camera spins around on?]
  • anyways, so we have an issue with imported curves [and while this doesnt crash in release builds the curve still wont draw in the viewport]
    in Debug builds we are hitting an assert here:

blender: /blender/source/blender/gpu/intern/gpu_element.c:139: GPU_indexbuf_add_line_verts: Assertion `v1 != v2' failed.

1   raise                                                            0x7fffefc2ceab 
2   abort                                                            0x7fffefc175b9 
3   __assert_fail_base.cold.0                                        0x7fffefc17491 
4   __assert_fail                                                    0x7fffefc25612 
5   GPU_indexbuf_add_line_verts         gpu_element.c           139  0x25f7f67      
6   curve_batch_cache_get_wire_edges    draw_cache_impl_curve.c 530  0x26a9c67      
7   DRW_curve_batch_cache_get_wire_edge draw_cache_impl_curve.c 908  0x26ab2ce      
8   DRW_cache_curve_edge_wire_get       draw_cache.c            3205 0x26a6fda      
9   OBJECT_cache_populate               object_mode.c           2720 0x266461b      
10  drw_engines_cache_populate          draw_manager.c          979  0x263eb95      
11  DRW_draw_render_loop_ex             draw_manager.c          1469 0x263fd70      
12  DRW_draw_view                       draw_manager.c          1406 0x263fa33      
13  view3d_draw_view                    view3d_draw.c           1259 0x1b57783    

Regarding the alembic test.blend [where test.ABC was already imported]:
we hit an assert [which doesnt crash in release builds but still needs to be looked at]

BLI_assert failed: /blender/source/blender/blenkernel/intern/cachefile.c:172, BKE_cachefile_ensure_handle(), at '(cache_file->id.tag & LIB_TAG_COPIED_ON_WRITE) == 0'


Regarding the "MarkScene":

Alembic: color index out of bounds reading face colors for object /Weight vase-model A/Weight vase-model A/Weight vase-model A, property Max Vertex Color Map

1  read_custom_data_mcols        abc_customdata.cc 398  0x237f06f      
2  read_custom_data              abc_customdata.cc 478  0x237f6b1      
3  read_mesh_sample              abc_mesh.cc       984  0x234a7fa      
4  AbcMeshReader::read_mesh      abc_mesh.cc       1125 0x234b0a8      
5  AbcMeshReader::readObjectData abc_mesh.cc       1032 0x234ac45      
6  import_startjob               alembic_capi.cc   719  0x230e9cf

Got a bandaid for the crash in D3847 [with that, .abc seems to import correctly], but would like to ask @dr.sybren to have a look (for the underlying issue)...

We are seeing a couple of issues here (possibly we'll be splitting these in distinct reports if neccessary): -------------------------- Regarding import of test.ABC in a new file: - cannot reproduce missing camera animation [`Camera001` doing a proper turnaround here...] - curve is still in the .abc? [I assume this is the path the camera spins around on?] - anyways, so we have an issue with imported curves [and while this doesnt crash in release builds the curve still wont draw in the viewport] in Debug builds we are hitting an assert here: > blender: /blender/source/blender/gpu/intern/gpu_element.c:139: GPU_indexbuf_add_line_verts: Assertion `v1 != v2' failed. ``` 1 raise 0x7fffefc2ceab 2 abort 0x7fffefc175b9 3 __assert_fail_base.cold.0 0x7fffefc17491 4 __assert_fail 0x7fffefc25612 5 GPU_indexbuf_add_line_verts gpu_element.c 139 0x25f7f67 6 curve_batch_cache_get_wire_edges draw_cache_impl_curve.c 530 0x26a9c67 7 DRW_curve_batch_cache_get_wire_edge draw_cache_impl_curve.c 908 0x26ab2ce 8 DRW_cache_curve_edge_wire_get draw_cache.c 3205 0x26a6fda 9 OBJECT_cache_populate object_mode.c 2720 0x266461b 10 drw_engines_cache_populate draw_manager.c 979 0x263eb95 11 DRW_draw_render_loop_ex draw_manager.c 1469 0x263fd70 12 DRW_draw_view draw_manager.c 1406 0x263fa33 13 view3d_draw_view view3d_draw.c 1259 0x1b57783 ``` -------------------------- Regarding the alembic test.blend [where test.ABC was already imported]: we hit an assert [which doesnt crash in release builds but still needs to be looked at] > BLI_assert failed: /blender/source/blender/blenkernel/intern/cachefile.c:172, BKE_cachefile_ensure_handle(), at '(cache_file->id.tag & LIB_TAG_COPIED_ON_WRITE) == 0' -------------------------- Regarding the "MarkScene": > Alembic: color index out of bounds reading face colors for object /Weight vase-model A/Weight vase-model A/Weight vase-model A, property Max Vertex Color Map ``` 1 read_custom_data_mcols abc_customdata.cc 398 0x237f06f 2 read_custom_data abc_customdata.cc 478 0x237f6b1 3 read_mesh_sample abc_mesh.cc 984 0x234a7fa 4 AbcMeshReader::read_mesh abc_mesh.cc 1125 0x234b0a8 5 AbcMeshReader::readObjectData abc_mesh.cc 1032 0x234ac45 6 import_startjob alembic_capi.cc 719 0x230e9cf ``` Got a bandaid for the crash in [D3847](https://archive.blender.org/developer/D3847) [with that, .abc seems to import correctly], but would like to ask @dr.sybren to have a look (for the underlying issue)...
Sybren A. Stüvel was assigned by Philipp Oeser 2018-11-14 14:53:58 +01:00
Member

@dr.sybren : mind having a look?

@dr.sybren : mind having a look?

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

MarkScene.ABC is hardly a minimal test file, it has over 5000 objects in it. Also, there are objects named ?????????#56_002, which to me indicates that there are more things wrong with this file.

I've just committed (a slightly altered version of) D3847, and another fix (da7a342478) that fixes a multi-threading crash while importing. Those two combined seem to resolve this issue, as MarkScene.ABC now imports fine.

If there are still issues with other Alembic files, please create a new task for it.

`MarkScene.ABC` is hardly a minimal test file, it has over 5000 objects in it. Also, there are objects named `?????????#56_002`, which to me indicates that there are more things wrong with this file. I've just committed (a slightly altered version of) [D3847](https://archive.blender.org/developer/D3847), and another fix (da7a3424786043ae799fc6915347021872f5216b) that fixes a multi-threading crash while importing. Those two combined seem to resolve this issue, as `MarkScene.ABC` now imports fine. If there are still issues with other Alembic files, please create a new task for it.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#57377
No description provided.