Skip to content

[Bug]: User input not sanitized properly, negative values cause Blender to crash #41

Description

@IronicChloride

Description

Setting some node parameters to negative values will cause Blender to freeze or crash. The only way out of this situation is to kill Blender.
This bug can be easily triggered by accident while changing a value in the node and then releasing the mouse button at the wrong place, when the value is negative.
I think I have tested it with every possible parameter in every node, which was quite frustrating, and thus below is a list of my findings with nodes in bold and the effect a negative value causes.

Trunk: Length or Resolution - freeze
Start and End Radius - produces artefacts (not great, but recoverable).
[Edit, found this gem later] Randomness - crash when value is between -0,57 and +0.61, that's a peculiar one.
Branches: will accept negative length and doesn't crash with negative resolution. Everything else works
Growth: Iterations - freeze
Apical Dominance – crash (an actual crash, which kills Blender, this at least has an option to restart)
Lateral density – freeze
Leaf Shape: Everything works
Radius override: End radius - crash, Constant Growth - crash
Other nodes: Either not possible to set negative values or nothing happens.

Blender Version

5.1.2

Operating System

Windows

Addon Version

5.5.2

Component Affected

Addon UI / Node Editor

Steps to Reproduce

  1. Create Mtree with nodes, add at least Tree Mesher and a Trunk.
  2. Set Length or Resolution of the Trunk node using the fields in the node to negative value.
  3. Blender is no longer responding.

Expected Behavior

Don't allow negative value in the node editor where it doesn't make sense.
Ignore negative values.

Actual Behavior

Blender stopped responding when a value was set to negative.

Additional Context

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions