.blend file errors


I don’t know if I’m in the right place or if it’s useful,
I wrote a reader for blend files and am seeing errors.

  • The boolean type is defined in the TLEN table to 0.
  • And some files written with blender 2.4.0 crash version 2.9.0 when opening the file.

I found in the tested 2.4 files that two blocks share the same old pointer address. These are the REND and GLOB blocks.
There are several files crashing blender 2.9 in https://download.blender.org/demo/test/, for example:
outlinertest.blend and timeline.blend in test240.zip


My first advice here is always, don’t write a .blend file reader or writer. It’s Blender’s internal file format and we make no guarantee that it remains stable or try to document all the quirks.

I’ve fixed the crash with outlinertest.blend here:

There is no boolean type, the first type in that table is char. Not sure why that would be an error.

REND can be ignored, it’s data for a render daemon feature that no longer exists in Blender, and is mainly there for compatibility. It can indeed have the same old pointer address as other blocks.

1 Like

Hello Brecht,

Thank you for your reply.

About the “bool” type, I thought I saw it in “TLEN”, but I must have confused it with “void” because I can’t find it anymore.

I know many have tried to write Blend file reader with average success. My goal is mainly to manage blend files. extract payload data and be able to find sets of files. for example: where I had modeled an object named “apple”.

Helo @brecht
I hope I not disturbing you. But since my hands are in the Blend files, I give you my observations.

“BlendFileDnaExporter_25.py” does not work on “bpy.app.build revision” with
“AttributeError: ‘bpy.app’ object has no attribute ‘build_revision’”

For information, I can’t see who is still using version 1.0.0 files, but the file koekwous.blend has a mesh and 2 curves and Blender 2.90.1 does not read them.

I guess you are using an old version of this script, the one bundled with the Blender source code does not use build_revision.

Would be nice if it did, but probably it’s not worth spending time to make this one work.

Thank you, indeed, ridiculous, I use the wrong repo “https://svn.blender.org/