Page MenuHome

Error reloading linked library
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1660/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.28

Blender Version
Broken: version: 2.83.0, branch: master, commit date: 2020-06-03 14:38, hash: rB211b6c29f771

Caused by rB367ecff15d74: readfile: Move ID refcounting to libquery.

Short description of error
Dupplicated objects are created (but not visible) when reloading a linked library.

Exact steps for others to reproduce the error

  • Create a blender file with just a cube and save it
  • Create a new blender file, delete the default cube and link the other cube
    • File -> Link -> (select file) -> Object -> Cube
  • Reload the library
    • Select "Blender File" from the "Scenes", "View Layer", etc dropdown
    • Select the linked file and click "Reload"

This error message shows on the bottom:
Lib Reload: Replacing all references to old data-block 'OBCube' by reloaded one failed, old one (2 remaining users) had to be kept and was renamed to 'OBCube~000'

The blend file will show repeated objects as shown in the attached screenshot.

Event Timeline

I can confirm the issue.

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.92

Blender Version
Broken: version: 2.83.0, branch: master, commit date: 2020-06-03 14:38, hash: rB211b6c29f771
Worked: version: 2.82 (sub 7), branch: master, commit date: 2020-03-12 05:06, hash: rB375c7dc4caf4

Saving & reloading the file purges those additional data-blocks (it happens also with collections).

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Jun 15 2020, 10:36 AM

Can confirm, checking...

Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".Jun 15 2020, 12:13 PM

Caused by rB367ecff15d74: readfile: Move ID refcounting to libquery..

Havent checked further, but looks like a bug to me, This kicks in:

Note that this *should* not happen - but better be safe than sorry in this area,
at least until we are 100% sure this cannot ever happen.
Also, we can safely assume names were unique so far,
so just replacing '.' by '~' should work,
but this does not totally rules out the possibility of name collision.

CC @Bastien Montagne (mont29)