Cryptomatte buffers broken with more than 16 enabled passes (Linux only?) #68370

Closed
opened 2019-08-07 15:49:02 +02:00 by sfs · 30 comments

System Information
Operating system: Linux-5.3.12-200.fc30.x86_64-x86_64-with-fedora-30-Thirty 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.44

Blender Version
Broken: version: 2.83 (sub 0), branch: master, commit date: 2020-01-14 06:12, hash: 1bcb2bfd57
Worked: (optional)

Short description of error
Cryptomatte buffers broken with more than 16 enabled passes

Exact steps for others to reproduce the error
Happens with more than 16 passes.

Easiest repro .blend:
T68370_from_scratch.blend

  • Open the file (has 16 enabled passes)
  • F12
  • inspect all Cryptomatte Pick Buffers intact
  • enable an additional pass [doesnt matter which one, e.g. Diffuse Direct, now you have 17 enabled passes]
  • F12 again
  • inspect all Cryptomatte Pick Buffers broken

original report:

System Information
Operating system: Linux-5.0.0-23-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 980 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.40

Blender Version
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: f6cb5f5449
Worked: (optional)

There is a problem with the cryptomatte of Blender 2.80 downloaded in snapstroe.
I made a blender project named "TEST.blend",When using the BLENDER 2.80 of the snap store to open this project file, the object mask and material mask cannot be used, the asset mask can be used, but it is wrong. So I uninstalled the blender 2.80 downloaded from the snap store and downloaded a Blender 2.80 from the Blender website. When I open my project with this Blender 2.80, I find that the object mask, the material mask can't be read, the asset mask can be read, but it is wrong. Then I switched to the windows system, opened the project with Blender 2.80 and found that cryptomatte works fine.
TEST.blend

**System Information** Operating system: Linux-5.3.12-200.fc30.x86_64-x86_64-with-fedora-30-Thirty 64 Bits Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.44 **Blender Version** Broken: version: 2.83 (sub 0), branch: master, commit date: 2020-01-14 06:12, hash: `1bcb2bfd57` Worked: (optional) **Short description of error** Cryptomatte buffers broken with more than 16 enabled passes **Exact steps for others to reproduce the error** Happens with more than 16 passes. Easiest repro .blend: [T68370_from_scratch.blend](https://archive.blender.org/developer/F8279712/T68370_from_scratch.blend) - Open the file (has 16 enabled passes) - F12 - inspect all Cryptomatte Pick Buffers intact - enable an additional pass [doesnt matter which one, e.g. Diffuse Direct, now you have 17 enabled passes] - F12 again - inspect all Cryptomatte Pick Buffers broken original report: **System Information** Operating system: Linux-5.0.0-23-generic-x86_64-with-debian-buster-sid 64 Bits Graphics card: GeForce GTX 980 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.40 **Blender Version** Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: `f6cb5f5449` Worked: (optional) **There is a problem with the cryptomatte of Blender 2.80 downloaded in snapstroe.** I made a blender project named "TEST.blend",When using the BLENDER 2.80 of the snap store to open this project file, the object mask and material mask cannot be used, the asset mask can be used, but it is wrong. So I uninstalled the blender 2.80 downloaded from the snap store and downloaded a Blender 2.80 from the Blender website. When I open my project with this Blender 2.80, I find that the object mask, the material mask can't be read, the asset mask can be read, but it is wrong. Then I switched to the windows system, opened the project with Blender 2.80 and found that cryptomatte works fine. [TEST.blend](https://archive.blender.org/developer/F7652978/TEST.blend)
Author

Added subscriber: @xqzl

Added subscriber: @xqzl

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren

Please explain how to reproduce this issue in detailed steps. There is little we can do with a description like "it's wrong" or "it doesn't work".

I'm also not sure what problem you're describing exactly. The task title mentions the Snap store as being problematic, but the version from the Blender website also had a problem, indicating that it may not be related to the snap store at all.

Please explain how to reproduce this issue in detailed steps. There is little we can do with a description like "it's wrong" or "it doesn't work". I'm also not sure what problem you're describing exactly. The task title mentions the Snap store as being problematic, but the version from the Blender website also had a problem, indicating that it may not be related to the snap store at all.
Author

My English is terrible. I don't know how to describe this problem in words. But I recorded a video and hope that this video will help you understand the problem I described.Cryptomatte-1.m4v

My English is terrible. I don't know how to describe this problem in words. But I recorded a video and hope that this video will help you understand the problem I described.[Cryptomatte-1.m4v](https://archive.blender.org/developer/F7657767/Cryptomatte-1.m4v)

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

@xqzl Is this still an issue with latest build? https://builder.blender.org/download/
Also please make sure, that your GPU drivers are up to date.

@xqzl Is this still an issue with latest build? https://builder.blender.org/download/ Also please make sure, that your GPU drivers are up to date.

Changed status from 'Needs User Info' to: 'Archived'

Changed status from 'Needs User Info' to: 'Archived'
Richard Antalik self-assigned this 2020-01-15 11:21:33 +01:00

Since last asking for information it has been 7 or more days, due to the policy of our bug tracker we will have to close the report.

Since last asking for information it has been 7 or more days, due to the policy of our bug tracker we will have to close the report.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Archived' to: 'Confirmed'

Changed status from 'Archived' to: 'Confirmed'
Member

I can confirm the issue (latest buildbot on Linux).
Other Pick Buffers seem to be empty or broken.
Also I am not sure if the only "working" matte 0:39 in the video (AssetID) is actually working. This looks more like the MaterialID to me...
So something mixed up on these buffers access.

Will try to reproduce from scratch.
Also seems to go away if other passes are disabled
#68370.blend

I can confirm the issue (latest buildbot on Linux). Other Pick Buffers seem to be empty or broken. Also I am not sure if the only "working" matte 0:39 in the video (AssetID) is actually working. This looks more like the MaterialID to me... So something mixed up on these buffers access. Will try to reproduce from scratch. Also seems to go away if other passes are disabled [#68370.blend](https://archive.blender.org/developer/F8279685/T68370.blend)
Author

Is this still an issue with latest build? https://builder.blender.org/download/
Also please make sure, that your GPU drivers are up to date.

Sorry for the late reply. This problem no longer exists in new versions of blender

Is this still an issue with latest build? https://builder.blender.org/download/ Also please make sure, that your GPU drivers are up to date. Sorry for the late reply. This problem no longer exists in new versions of blender
Member

Happens with more than 16 passes.

Easiest repro .blend:
T68370_from_scratch.blend

  • Open the file (has 16 enabled passes)
  • F12
  • inspect all Cryptomatte Pick Buffers intact
  • enable an additional pass [doesnt matter which one, e.g. Diffuse Direct, now you have 17 enabled passes]
  • F12 again
  • inspect all Cryptomatte Pick Buffers broken
Happens with more than 16 passes. Easiest repro .blend: [T68370_from_scratch.blend](https://archive.blender.org/developer/F8279712/T68370_from_scratch.blend) - Open the file (has 16 enabled passes) - F12 - inspect all Cryptomatte Pick Buffers intact - enable an additional pass [doesnt matter which one, e.g. Diffuse Direct, now you have 17 enabled passes] - F12 again - inspect all Cryptomatte Pick Buffers broken
Philipp Oeser changed title from There is a problem with cryptomatte of Blender 2.80 on Linux system to Cryptomatte buffers broken with more than 16 enabled passes (Linux only?) 2020-01-15 14:13:05 +01:00
Richard Antalik was unassigned by Philipp Oeser 2020-01-15 14:13:05 +01:00
Member

Added subscriber: @Stefan_Werner

Added subscriber: @Stefan_Werner
Member

@Stefan_Werner : does this ring a bell?

@Stefan_Werner : does this ring a bell?

Removed subscriber: @dr.sybren

Removed subscriber: @dr.sybren
Author

Philipp Oeser(lichtwerk),I have tested this project with 2.81a according to your method and it is no problem.

Philipp Oeser(lichtwerk),I have tested this project with 2.81a according to your method and it is no problem.

Added subscriber: @Blazej-Floch

Added subscriber: @Blazej-Floch

Hello,
We had problems with Cryptomatte in production on Linux only. This may also be related to other issues I see around here like: https://developer.blender.org/T67712

The reasons is that std::sort is used and it just happens to be stable on windows, but is unstable in Linux.
Replace with std::stable_sort and all is good.

Else the passes are mixed up, while crypyo matte expects them to be sequential due to the pointer arithmetic it does.
I have a patch that I can supply once I am back to the office.

Cheers,
Blazej

Hello, We had problems with Cryptomatte in production on Linux only. This may also be related to other issues I see around here like: https://developer.blender.org/T67712 The reasons is that std::sort is used and it just happens to be stable on windows, but is unstable in Linux. Replace with std::stable_sort and all is good. Else the passes are mixed up, while crypyo matte expects them to be sequential due to the pointer arithmetic it does. I have a patch that I can supply once I am back to the office. Cheers, Blazej

Added subscriber: @brecht

Added subscriber: @brecht

@Blazej-Floch great catch, a patch is definitely welcome.

@Blazej-Floch great catch, a patch is definitely welcome.

Today I should have some time to code. I'll try to make some of our patches available.

Today I should have some time to code. I'll try to make some of our patches available.

This issue was referenced by blender/cycles@07f9426ca0

This issue was referenced by blender/cycles@07f9426ca0c82786546c275d6ab1b80a3ae279ef

This issue was referenced by 6777956005

This issue was referenced by 6777956005f59a1f52851a50d5498bb17c910c4e

Added subscriber: @Plyro

Added subscriber: @Plyro

Same issue here (before I found the connection to this task I opened a new one, assuming the bug is connected to the light passes)
https://developer.blender.org/T68370

Any solutions/patches available yet? Thanks!

Same issue here (before I found the connection to this task I opened a new one, assuming the bug is connected to the light passes) https://developer.blender.org/T68370 Any solutions/patches available yet? Thanks!

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Brecht Van Lommel self-assigned this 2020-03-20 16:16:27 +01:00
Member
@Blazej-Floch: Thx! Did what you said in [D7197: Fix #68370: Cryptomatte buffers broken with more than 16 enabled passes (Linux only)](https://archive.blender.org/developer/D7197), seems to work nicely :)
Member

Ah, @brecht was quicker :)

Ah, @brecht was quicker :)
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
8 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#68370
No description provided.