Maniphest T76738

Assert failure undoing view layer creation
Closed, Resolved

Assigned To
Campbell Barton (campbellbarton)
Authored By
Sergey Sharybin (sergey)
May 14 2020, 10:39 AM
Tags
  • BF Blender
Subscribers
Campbell Barton (campbellbarton)
Sergey Sharybin (sergey)

Description

System Information
Operating system: Linux-5.6.0-1-amd64-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: Quadro RTX 6000/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.82

Blender Version
Broken: version: 2.90 (sub 1), branch: master, commit date: 2020-05-14 05:26, hash: rBde6a86611440
Worked: (newest version of Blender that worked as expected)

Short description of error

Undo of view layer creation tosses the following assert failure: P1389

Exact steps for others to reproduce the error

  1. Open attached file
  2. Add new view layer (using New option)
  3. Undo

Revisions and Commits

rB Blender
Audited

Event Timeline

Sergey Sharybin (sergey) created this task.May 14 2020, 10:39 AM
Campbell Barton (campbellbarton) added a subscriber: Campbell Barton (campbellbarton).EditedMay 14 2020, 11:09 AM

Checking on this report, note this file has two brushes with the same name, causing an assert when loading the file without "Load UI" enabled.

This could be caused by rBb571516237a94e944b9182d233b9ba64819d92c4, although the logic there looks OK.

Sergey Sharybin (sergey) added a comment.May 14 2020, 11:23 AM

Is the duplicate brush a root cause of the initial report?

Here are the steps to reproduce the duplicate brushes:

  1. Open Blender 2.80 --factory-startup
  2. Select everything (A in viewport, Cube, Camera, Lamp)
  3. Ctrl-C
  4. Open latest master --factory-startup
  5. Delete everything
  6. Ctrl-V
  7. for b in bpy.data.brushes: print(b.name) will show duplicate Tint brush
Campbell Barton (campbellbarton) added a comment.EditedMay 14 2020, 1:16 PM

Confirmed this is the same issue, the "Tint" brush must be added to the copy-buffer and it's name not properly handled when making local.

Note that we don't use BKE_brush_add anywhere else in versioning code.

paint_ops.c also has code to initialize brush data-blocks if they're not in the file. So I think it would be best to remove this from versioning.


Edit, this happens when appending from the blend file too.

Sergey Sharybin (sergey) added a comment.May 14 2020, 3:26 PM

@Campbell Barton (campbellbarton) Shall this report be closed since T76745 is stating the root cause?

Campbell Barton (campbellbarton) closed this task as Resolved.May 15 2020, 5:18 AM
Campbell Barton (campbellbarton) claimed this task.

Yes, double checked and linking a 2.80 file (with a 'Tint' brush added), no longer creates duplicates.

Campbell Barton (campbellbarton) added a commit: rB3c0fd51cf43e: Fix T76738: Duplicate brushes cause assertion on undo.May 15 2020, 9:47 AM
Campbell Barton (campbellbarton) added a commit: rBe60560bda03d: Fix T76738: Duplicate brushes cause assertion on undo.May 15 2020, 9:54 AM