Page MenuHome

crash, Helicopter, blender 2.74 demo file
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: AMD Radeon HD 7600M Series ATI Technologies Inc. 4.5.13422 Core Profile Context 0

Blender Version
Broken: version: 2.81 (sub 12), branch: master, commit date: 2019-09-25 20:42, hash: rBee4707544904
Worked: (optional)

Short description of error
this file crash blender on load, i tryed to append objects from the file and crash the same.

is from demofiles on blender page.
https://download.blender.org/demo/test/Demo_274.zip

Event Timeline

noki paike (amonpaike) renamed this task from crash, Helicpoter, blender 2.74 demo file to crash, Helicopter, blender 2.74 demo file.Sep 26 2019, 4:23 PM
noki paike (amonpaike) created this task.

Yeah, it crashes for me too - The thing that seems to make blender crash is the Curve.009 which is in the Curve.000 object which is in the Helicopter collection. Appending the other objects seems to work fine

I tried to append the objects except Curve.000 and Curve.009 but it continues to crash :/

Here on :

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

Blender Version
Broken: version: 2.81 (sub 12), branch: master, commit date: 2019-09-25 20:42, hash: rBee4707544904
Worked: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: rBf6cb5f54494e

Short description of error
I can open the attached .blend file in Blender 2.80 official release version, as well as append the Scene from it. So, I did save the file from Blender 2.80.

Opening or appending (Scene) the provided .blend file (v.2.79) crashes Blender 2.81 with the following messages in the console:

Read blend: D:\Downloads\scene-Helicopter-27.blend
read file D:\Downloads\scene-Helicopter-27.blend

Version 280 sub 51 date 2019-03-21 00:58 hash 0bbff8a71138

Error : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF6ADA33871
Module : D:\Blender\blender-2.8_dev\blender.exe

Opening or appending (Scene) from the saved 2.80 version of the provided 2.79 file in Blender 2.81 crashed Blender with the following messages in the console:

Read blend: D:\Downloads\scene-Helicopter-28_open-file.blend
read file D:\Downloads\scene-Helicopter-28_open-file.blend

Version 280 sub 75 date 2019-07-29 14:47 hash f6cb5f54494e

Error : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF6ADA33871
Module : D:\Blender\blender-2.8_dev\blender.exe

Then, appending one by one the Objects from the 2.80 saved version went fine with everything but the following curve objects, leading to a crash:
Curve.011
Curve.000

Appending the following single curve data sets lead to a crash:
Curve.009
Curve.014

What do the objects Curve.011 and Curve.000 have in common?

They are the only objects in the scene using the green material.

This material has a node group with an undefined node

That Blender seems not to found of.

Deleting just the offending undefined node and saving the file allows me to open it up in

Blender Version 2.81 (sub 12), branch: master, commit date: 2019-09-25 20:42, hash: rBee4707544904

Just fine

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: AMD Radeon HD 8280 ATI Technologies Inc. 4.5.13399 Core Profile Context 15.201.1101.0


Note: The only other 2.81 version I have on this computer is
2.81 (sub 3), branch: master, commit date: 2019-08-22 20:40, hash: rB1de7717ed711
which does not crash when opening the original file if that is of any help in tracking down what commit causes the crashing.

undefined, means that it is some kind of node that existed before and now no longer exists in new versions of blender?

At this point it is not a real bug, or better, the crash can only happen if old scenes containing this "no longer existing node" are loaded.
The problem is, however, that this demo is downloadable from the home page of blender (and it's also a nice demo) so bender can't afford to crash ... the solution is: Either change the file, or set up blender to prevent it from crashing in these cases.

Philipp Oeser (lichtwerk) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

Sounds like an error in versioning code from rB23564583a498, should be fixied similar to rB5d9c01c53fd5.

So we are getting the crash in the versioning code due to node->storage being NULL.
This can happen in certain scenarios (see T69663 for how this can happen).

In this case though, did some digging, and there really seems to be something wrong with that file from https://download.blender.org/demo/test/Demo_274.zip
That Noise texture node in that file seems to be invalid, this broke between 2.70 (can read the node) and 2.71 (cant read the node), not sure what the culprit was here, cant find anything suspicious on the 2.71 release notes...

So while we could safeguard against this broken nodes (without node-> storage):

1
2
3diff --git a/source/blender/blenloader/intern/versioning_cycles.c b/source/blender/blenloader/intern/versioning_cycles.c
4index 2c4ba4a1102..cde5e82790d 100644
5--- a/source/blender/blenloader/intern/versioning_cycles.c
6+++ b/source/blender/blenloader/intern/versioning_cycles.c
7@@ -766,7 +766,9 @@ static void update_vector_math_node_average_operator(bNodeTree *ntree)
8 static void update_noise_node_dimensions(bNodeTree *ntree)
9 {
10 for (bNode *node = ntree->nodes.first; node; node = node->next) {
11- if (node->type == SH_NODE_TEX_NOISE) {
12+ /* Can happen in certain scenarios (see update_mapping_node_inputs_and_properties)
13+ * OR if the node itself is broken in the file ('Undefined') */
14+ if (node->type == SH_NODE_TEX_NOISE && node->storage) {
15 NodeTexNoise *tex = (NodeTexNoise *)node->storage;
16 tex->dimensions = 3;
17 }

We would probably have to do this for all nodes to be consistent? (or make something more generic that checks nodes storages...)
Not sure if we want to go this route?

If we dont want to safeguard, here is a version of that file with the Noise node corrected [saved from 2.74 as advertised :)]

CC @Brecht Van Lommel (brecht)

@Philipp Oeser (lichtwerk) just a little improvement, if the file is updated, the scratches of the metal should not move like reflections :)