Crashin during opening saved scene in 2.92.0 or 2.9.3 #86298

Closed
opened 2021-03-05 08:00:37 +01:00 by David Havel · 24 comments

System Information
Operating system: Windows 10 Home EN 64 bit
Graphics card: NVidia GeForce RTX 3090
CPU: AMD Ryzen 3800x
NVidia Drivers: 461.72 DCH, Studio Driver

Blender Version
Broken: 2.92.0, 02948a2cab, master, 2021-02-24, as found on the splash screen
Worked: 2.91 or older versions, but you will not have geonodes there.

Short description of error
I can't open most of my scenes saved in Blender 2.92.0. It's crashing during the opening all the time. It usually happens after using geonotes.
But I have a few scenes just resaved and they can't be opened as well. The same issue I'm having in 2.93.
I can open all scenes in 2.91 without any issue, but I'm missing geonotes.

I was trying to save them in 2.91, it doesn't help at all. Reinstalling Blender, cleaning the user settings, resting factory settings, no addons. Nothing helping.
I tough it could be Nvidia drivers, I tested the older studio drivers, and it doesn't help, unfortunately.

Exact steps for others to reproduce the error
Just try to open the file in Blender 2.92.0 or 2.93; On my system is not possible.

**System Information** Operating system: Windows 10 Home EN 64 bit Graphics card: NVidia GeForce RTX 3090 CPU: AMD Ryzen 3800x NVidia Drivers: 461.72 DCH, Studio Driver **Blender Version** Broken: 2.92.0, 02948a2cab44, master, 2021-02-24, as found on the splash screen Worked: 2.91 or older versions, but you will not have geonodes there. **Short description of error** I can't open most of my scenes saved in Blender 2.92.0. It's crashing during the opening all the time. It usually happens after using geonotes. But I have a few scenes just resaved and they can't be opened as well. The same issue I'm having in 2.93. I can open all scenes in 2.91 without any issue, but I'm missing geonotes. I was trying to save them in 2.91, it doesn't help at all. Reinstalling Blender, cleaning the user settings, resting factory settings, no addons. Nothing helping. I tough it could be Nvidia drivers, I tested the older studio drivers, and it doesn't help, unfortunately. **Exact steps for others to reproduce the error** Just try to open the file in Blender 2.92.0 or 2.93; On my system is not possible.
Author

Added subscriber: @czanimator

Added subscriber: @czanimator
Member

Added subscriber: @filedescriptor

Added subscriber: @filedescriptor
Member

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

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

It seems to be that the file is missing from the report.

It seems to be that the file is missing from the report.
Author

Yep, sorry. Here it is.

It's actually very strange - I just found, this scene is opening in blender_debug_log.cmd mode
002a_v004.blend
blender_system_info.txt
blender_debug_output.txt

Yep, sorry. Here it is. It's actually very strange - I just found, this scene is opening in **blender_debug_log.cmd mode** [002a_v004.blend](https://archive.blender.org/developer/F9869831/002a_v004.blend) [blender_system_info.txt](https://archive.blender.org/developer/F9869829/blender_system_info.txt) [blender_debug_output.txt](https://archive.blender.org/developer/F9869828/blender_debug_output.txt)
Author

I tested the next version of this scene, and It can't be opened at all, nor in debug_log.cmd :(

002a_v005-2.blend
blender_debug_output.txt
blender_system_info.txt

I tested the next version of this scene, and It can't be opened at all, nor in debug_log.cmd :( [002a_v005-2.blend](https://archive.blender.org/developer/F9869943/002a_v005-2.blend) [blender_debug_output.txt](https://archive.blender.org/developer/F9869954/blender_debug_output.txt) [blender_system_info.txt](https://archive.blender.org/developer/F9869956/blender_system_info.txt)
Member

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

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

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

I can confirm the crash with the file 002a_v005-2.blend
It involves the node system, the file has a sock->default_value as nullptr, I don't know if that would be allowed, otherwise the file could be considered corrupted.
A simple nullptr check seems to solve the problem (and would match the write_node_socket_default_value).

Unhandled exception thrown: read access violation.
default_value was nullptr.
>	blender.exe!lib_link_node_socket(BlendLibReader * reader, Library * lib, bNodeSocket * sock) Line 795	C++

 	blender.exe!lib_link_node_sockets(BlendLibReader * reader, Library * lib, ListBase * sockets) Line 816	C++
 	blender.exe!ntreeBlendReadLib(BlendLibReader * reader, bNodeTree * ntree) Line 833	C++
 	blender.exe!ntree_blend_read_lib(BlendLibReader * reader, ID * id) Line 858	C++
 	blender.exe!lib_link_all(FileData * fd, Main * bmain) Line 3933	C
 	blender.exe!blo_read_file_internal(FileData * fd, const unsigned char * filepath) Line 4205	C
 	blender.exe!BLO_read_from_file(const unsigned char * filepath, eBLOReadSkip skip_flags, ReportList * reports) Line 378	C
 	blender.exe!BKE_blendfile_read(const unsigned char * filepath, const BlendFileReadParams * params, ReportList * reports) Line 479	C
 	blender.exe!WM_file_read(bContext * C, const unsigned char * filepath, ReportList * reports) Line 766	C
 	blender.exe!wm_file_read_opwrap(bContext * C, const unsigned char * filepath, ReportList * reports) Line 2262	C
 	blender.exe!wm_open_mainfile__open(bContext * C, wmOperator * op) Line 2390	C
 	blender.exe!wm_open_mainfile_exec(bContext * C, wmOperator * op) Line 2425	C
 	blender.exe!wm_handler_fileselect_do(bContext * C, ListBase * handlers, wmEventHandler_Op * handler, int val) Line 2364	C
 	blender.exe!wm_handler_fileselect_call(bContext * C, ListBase * handlers, wmEventHandler_Op * handler, const wmEvent * event) Line 2463	C
 	blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Line 2879	C
 	blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Line 2931	C
 	blender.exe!wm_event_do_handlers(bContext * C) Line 3348	C
 	blender.exe!WM_main(bContext * C) Line 649	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 524	C
 	[External Code]	

I can confirm the crash with the file [002a_v005-2.blend](https://archive.blender.org/developer/F9869943/002a_v005-2.blend) It involves the node system, the file has a `sock->default_value` as `nullptr`, I don't know if that would be allowed, otherwise the file could be considered corrupted. A simple `nullptr` check seems to solve the problem (and would match the `write_node_socket_default_value`). ``` Unhandled exception thrown: read access violation. default_value was nullptr. ``` ``` > blender.exe!lib_link_node_socket(BlendLibReader * reader, Library * lib, bNodeSocket * sock) Line 795 C++ blender.exe!lib_link_node_sockets(BlendLibReader * reader, Library * lib, ListBase * sockets) Line 816 C++ blender.exe!ntreeBlendReadLib(BlendLibReader * reader, bNodeTree * ntree) Line 833 C++ blender.exe!ntree_blend_read_lib(BlendLibReader * reader, ID * id) Line 858 C++ blender.exe!lib_link_all(FileData * fd, Main * bmain) Line 3933 C blender.exe!blo_read_file_internal(FileData * fd, const unsigned char * filepath) Line 4205 C blender.exe!BLO_read_from_file(const unsigned char * filepath, eBLOReadSkip skip_flags, ReportList * reports) Line 378 C blender.exe!BKE_blendfile_read(const unsigned char * filepath, const BlendFileReadParams * params, ReportList * reports) Line 479 C blender.exe!WM_file_read(bContext * C, const unsigned char * filepath, ReportList * reports) Line 766 C blender.exe!wm_file_read_opwrap(bContext * C, const unsigned char * filepath, ReportList * reports) Line 2262 C blender.exe!wm_open_mainfile__open(bContext * C, wmOperator * op) Line 2390 C blender.exe!wm_open_mainfile_exec(bContext * C, wmOperator * op) Line 2425 C blender.exe!wm_handler_fileselect_do(bContext * C, ListBase * handlers, wmEventHandler_Op * handler, int val) Line 2364 C blender.exe!wm_handler_fileselect_call(bContext * C, ListBase * handlers, wmEventHandler_Op * handler, const wmEvent * event) Line 2463 C blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Line 2879 C blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Line 2931 C blender.exe!wm_event_do_handlers(bContext * C) Line 3348 C blender.exe!WM_main(bContext * C) Line 649 C blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 524 C [External Code] ```
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

The default_value should never be null. I did not figure out how it got to be null yet, will check further.

The `default_value` should never be null. I did not figure out how it got to be null yet, will check further.
Member

@czanimator do you have a backup of your file? (e.g. a .blend1 or .blend2)
Do you have any idea what you did before the corrupt file was saved?
Or alternatively, can you figure out a way to reproduce this issue from scratch?

@czanimator do you have a backup of your file? (e.g. a `.blend1` or `.blend2`) Do you have any idea what you did before the corrupt file was saved? Or alternatively, can you figure out a way to reproduce this issue from scratch?
Member

Looks like not only the collection socket is lost, but also node->storage of some mix attribute nodes. Those will be displayed as undefined when opening the town node group.
I also noticed that geometry nodes is not actively used by this file (it has no users). I wonder why it has been saved to the file in the first place, it does not have a fake user. (I'm testing with the 002a_v005-2 file btw)

Looks like not only the collection socket is lost, but also `node->storage` of some mix attribute nodes. Those will be displayed as undefined when opening the `town` node group. I also noticed that geometry nodes is not actively used by this file (it has no users). I wonder why it has been saved to the file in the first place, it does not have a fake user. (I'm testing with the `002a_v005-2` file btw)
Author

Nosure. Those files I was opening in Blender 2.91 and 2.92 back and forward. Probably that is why. I'm not using any geometry nodes in those scese.

Nosure. Those files I was opening in Blender 2.91 and 2.92 back and forward. Probably that is why. I'm not using any geometry nodes in those scese.
Author

I found the main issue, probably :)

The opening problems may cause one of the cryptomatte nodes.

I'm using my personal compositing node set-up, probably loaded from the old versions of Blender (probably from 2.90 or 2.91). Saved as startup scene. So I have it in every scene :(

When I deleted all Cryptomatte nodes (mainly the one which is not connected to any output), the Blend file can be open it in any Blender version!
I was able to delete the "wrong" cryptomatte node in Blender 2.83.

Cryptomatte_node-issue.png

I found the main issue, probably :) The opening problems may cause one of the cryptomatte nodes. I'm using my personal compositing node set-up, probably loaded from the old versions of Blender (probably from 2.90 or 2.91). Saved as startup scene. So I have it in every scene :( When I deleted all Cryptomatte nodes (mainly the one which is not connected to any output), the Blend file can be open it in any Blender version! I was able to delete the "wrong" cryptomatte node in Blender 2.83. ![Cryptomatte_node-issue.png](https://archive.blender.org/developer/F9913460/Cryptomatte_node-issue.png)
Member

Those files I was opening in Blender 2.91 and 2.92 back and forward.

That made me understand, how the default_value could be null. It happened because you created a collection socket in 2.92, then opened and saved the file in 2.91. Saving in 2.91 would still save the node tree and the sockets within it. However, because it didn't know the collection socket, it was saved incorrectly, corrupting the file. The solution seems to be to handle this "corruption" gracefully and just check for the null pointer.

> Those files I was opening in Blender 2.91 and 2.92 back and forward. That made me understand, how the `default_value` could be null. It happened because you created a collection socket in 2.92, then opened and saved the file in 2.91. Saving in 2.91 would still save the node tree and the sockets within it. However, because it didn't know the collection socket, it was saved incorrectly, corrupting the file. The solution seems to be to handle this "corruption" gracefully and just check for the null pointer.
Contributor

Added subscriber: @AndresStephens

Added subscriber: @AndresStephens
Contributor

Can confirm, even with blend files saved in 2.93 from last week (21st of March) they corrupt and makes blender do a hard crash.

Can confirm, even with blend files saved in 2.93 from last week (21st of March) they corrupt and makes blender do a hard crash.

Added subscriber: @Proud_Imagination_94

Added subscriber: @Proud_Imagination_94

This issue was referenced by 81fae56cb9

This issue was referenced by 81fae56cb9213ca7d64ac97bef7f7447fb96924f
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Jacques Lucke self-assigned this 2021-03-29 16:57:30 +02:00
Member

@AndresStephens not sure if you are having the same bug then. The bug in the files provided in this report happened because the file was saved in an older Blender version than it was originally created in, and then opened in a new version again,
If you still get a crash in your file and did not do any of that, please make a new report.

@AndresStephens not sure if you are having the same bug then. The bug in the files provided in this report happened because the file was saved in an older Blender version than it was originally created in, and then opened in a new version again, If you still get a crash in your file and did not do any of that, please make a new report.
Contributor

I will merge and build again later this week to test. I'll let you know.

I will merge and build again later this week to test. I'll let you know.
Thomas Dinges added this to the 2.93 LTS milestone 2023-02-07 18:46:30 +01:00
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#86298
No description provided.