Remove doubles Operator crash called from a script in a specific case #51483
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#51483
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Win 7 64 bit, Amd X3 455, R7 360
Blender Version
Broken:
717d85f
,ac880b6
Short description of error
Using both the operator and Bmesh Remove doubles variants in a script on a specific mesh in a specific location, can cause Blender to crash
Exact steps for others to reproduce the error
Enable Edit Tools 2 add-on > Default cube > Edit mode > Mesh Edit Tools in the Tools Region (T panel known among the people) > Edge Tools > Roundify ( default settings) > Edges(s) to Wall.
The error:
After some investigation the culprit is in the mesh_to_wall script.
Changing the code in the MeshtoWall operator - moving the remove doubles code to be called first in the execute would prevent crashing.
It didn' matter if the bmesh.ops was replaced with the bpy.ops. However, just commenting out the
bmesh.ops.remove_doubles
line is enough to make the operator run properly.Original code around line 190 (crashes) :
Modified code (doesn't crash)
Concerning the output from the Roundify operator (class EdgeRoundifierin the script
mesh_edge_roundifier
) the produced mesh is valid as other tools are capable of further edits.Commenting out the
bm.free()
line at the end of the operator doesn't have any impact on preventing the crash.Changed status to: 'Open'
Added subscriber: @VukGardasevic
Added subscriber: @BrendonMurphy
confirmed.
Will also note that neither addon is designed to work on solid mesh.
I think we need to fix this asap.
Added subscriber: @Sergey
@BrendonMurphy, you are listed as an author. So assigning to you.
hi, @Sergey, I have discussed this with @VukGardasevic we will have ready.
I've found the actual offending line is line 200 in mesh to wall.
changing this line to:
is a hacky way to prevent the crash, but works & exposes the value error 0 addon fail.
this should be handled by an exception & the user warned "Zero Area faces, please use on single axis" or other pop up warning & the addon pass/prevent execute.
thanks, looking into it more before committing.
Replaced the original script with the a new bmesh operator variant. See in the previous commit.
Since the script suffered from performance issues too. Now, Mesh to wall can be added to contrib as the replacement module is not a 1 to 1 replacement as it does things differently.
@BrendonMurphy
if it is okay we could add it back to the contrib if someone is interested in maintaining/fixing it - fix the bad memory access of the mesh elements and improve performance.
I'll leave this task open until a solution to the script in question is found.
go ahead & close
your rewrite is very good, mesh to wall does do things slightly different, but it's not developed outside mesh edit tools, so, no need to move to contrib.
Thanks. great Job :)
Changed status from 'Open' to: 'Archived'
If someone wants to pickup the Mesh to Wall add-on feel free to do so and it will be included back in contrib.
All right i'll archive the task then :)