Crash on Proportional Editing Curve Object #84453

Closed
opened 2021-01-06 12:25:31 +01:00 by Fabio · 10 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 960M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.89

Blender Version
Broken: version: 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash: 0f45cab862
Worked: (newest version of Blender that worked as expected)

Short description of error
Curve object, edit mode, enable proportional editing and connected only, then hide a control point and try to move one of other control point, blender crush, it seems to happen only with curve object.

Exact steps for others to reproduce the error
This file replicate the error, you just try to move a control point in edit mode
PROPORTIONAL EDITING_CURVE OBJECT_CRUSH.blend

Thank you very much!

**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: GeForce GTX 960M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.89 **Blender Version** Broken: version: 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash: `0f45cab862` Worked: (newest version of Blender that worked as expected) **Short description of error** Curve object, edit mode, enable proportional editing and connected only, then hide a control point and try to move one of other control point, blender crush, it seems to happen only with curve object. **Exact steps for others to reproduce the error** This file replicate the error, you just try to move a control point in edit mode [PROPORTIONAL EDITING_CURVE OBJECT_CRUSH.blend](https://archive.blender.org/developer/F9553062/PROPORTIONAL_EDITING_CURVE_OBJECT_CRUSH.blend) Thank you very much!
Author

Added subscriber: @piccattof

Added subscriber: @piccattof
Member

Added subscriber: @filedescriptor

Added subscriber: @filedescriptor
Member

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

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

I can confirm this on 2.92.0 Alpha, branch: master, commit date: 2021-01-06 10:55, hash: 4e23f08807. Here is the output of ASAN:

==331475==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61d00115ba30 at pc 0x000008ec0ee6 bp 0x7fffffffcc90 sp 0x7fffffffcc80
WRITE of size 4 at 0x61d00115ba30 thread T0
    - 0 0x8ec0ee5 in copy_v3_v3 /.../blender-git/blender/source/blender/blenlib/intern/math_vector_inline.c:63
    - 1 0x8ec5335 in createTransCurveVerts /.../blender-git/blender/source/blender/editors/transform/transform_convert_curve.c:310
    - 2 0x8e8facb in createTransData /.../blender-git/blender/source/blender/editors/transform/transform_convert.c:1187
    - 3 0x8e6b448 in initTransform /.../blender-git/blender/source/blender/editors/transform/transform.c:1726
    - 4 0x9084b13 in transformops_data /.../blender-git/blender/source/blender/editors/transform/transform_ops.c:394
    - 5 0x90856cc in transform_invoke /.../blender-git/blender/source/blender/editors/transform/transform_ops.c:510
    - 6 0x4fbd80d in wm_operator_invoke /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1300
    - 7 0x4fc5bce in wm_handler_operator_call /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2141
    - 8 0x4fc96f4 in wm_handlers_do_keymap_with_keymap_handler /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2466
    - 9 0x4fccea8 in wm_handlers_do_intern /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2762
    - 10 0x4fce135 in wm_handlers_do /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2886
    - 11 0x4fd44b9 in wm_event_do_handlers /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:3382
    - 12 0x4fa103e in WM_main /.../blender-git/blender/source/blender/windowmanager/intern/wm.c:635
    - 13 0x35389d9 in main /.../blender-git/blender/source/creator/creator.c:522
    - 14 0x7ffff6ea1cb1 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28cb1)
    - 15 0x3537b8d in _start (/.../blender-git/build_linux_debug/bin/blender+0x3537b8d)
I can confirm this on 2.92.0 Alpha, branch: master, commit date: 2021-01-06 10:55, hash: `4e23f08807`. Here is the output of ASAN: ``` ==331475==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61d00115ba30 at pc 0x000008ec0ee6 bp 0x7fffffffcc90 sp 0x7fffffffcc80 WRITE of size 4 at 0x61d00115ba30 thread T0 - 0 0x8ec0ee5 in copy_v3_v3 /.../blender-git/blender/source/blender/blenlib/intern/math_vector_inline.c:63 - 1 0x8ec5335 in createTransCurveVerts /.../blender-git/blender/source/blender/editors/transform/transform_convert_curve.c:310 - 2 0x8e8facb in createTransData /.../blender-git/blender/source/blender/editors/transform/transform_convert.c:1187 - 3 0x8e6b448 in initTransform /.../blender-git/blender/source/blender/editors/transform/transform.c:1726 - 4 0x9084b13 in transformops_data /.../blender-git/blender/source/blender/editors/transform/transform_ops.c:394 - 5 0x90856cc in transform_invoke /.../blender-git/blender/source/blender/editors/transform/transform_ops.c:510 - 6 0x4fbd80d in wm_operator_invoke /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1300 - 7 0x4fc5bce in wm_handler_operator_call /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2141 - 8 0x4fc96f4 in wm_handlers_do_keymap_with_keymap_handler /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2466 - 9 0x4fccea8 in wm_handlers_do_intern /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2762 - 10 0x4fce135 in wm_handlers_do /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2886 - 11 0x4fd44b9 in wm_event_do_handlers /.../blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:3382 - 12 0x4fa103e in WM_main /.../blender-git/blender/source/blender/windowmanager/intern/wm.c:635 - 13 0x35389d9 in main /.../blender-git/blender/source/creator/creator.c:522 - 14 0x7ffff6ea1cb1 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28cb1) - 15 0x3537b8d in _start (/.../blender-git/build_linux_debug/bin/blender+0x3537b8d) ```
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

I dont get immediate crashes, but I had a crash when closing blender after the above repro steps:

# backtrace
./blender(BLI_system_backtrace+0x20) [0x8642740]
./blender() [0xeac81a]
/lib64/libpthread.so.0(+0x141e0) [0x7f3f81a651e0]
./blender() [0xebb240]
./blender() [0x85a20d7]
./blender(BLI_ghash_free+0x4e) [0x85a2a4e]
./blender(BKE_curve_editNurb_keyIndex_free+0x1a) [0xebeb9a]
./blender() [0x1cc05e8]
./blender() [0x1c84d92]
./blender(BKE_undosys_stack_clear+0x47) [0x1c84f27]
./blender(BKE_undosys_stack_destroy+0x9) [0x1c84fa9]
./blender(ED_editors_exit+0xef) [0x726ea9f]
./blender(WM_exit_ex+0x156) [0x12445e6]
./blender(WM_exit+0xe) [0x12449ee]
./blender() [0x1244a19]
./blender() [0x1237f7e]
./blender() [0x12385cc]
./blender(wm_event_do_handlers+0x416) [0x1238db6]
./blender(WM_main+0x20) [0x122f9d0]
./blender(main+0x31e) [0xde69de]
/lib64/libc.so.6(__libc_start_main+0xf2) [0x7f3f8134b1e2]
./blender() [0xea9213]

# Python backtrace
1   ??                                                              0x7fffd13956ce 
2   ??                                                              0x7fffd13afb42 
3   blender::gpu::GLContext::buf_free     gl_context.cc        261  0xa2166c2      
4   blender::gpu::GLVertBuf::release_data gl_vertex_buffer.cc  45   0xa2260eb      
5   blender::gpu::VertBuf::clear          gpu_vertex_buffer.cc 71   0xa20e5af      
6   GPU_vertbuf_discard                   gpu_vertex_buffer.cc 160  0xa20e8d1      
7   temp_buffer_handle_free               draw_instance_data.c 211  0x35b1e2f      
8   BLI_memblock_destroy                  BLI_memblock.c       91   0xb6c3772      
9   DRW_instance_data_list_free           draw_instance_data.c 362  0x35b2401      
10  GPU_viewport_free                     gpu_viewport.c       1037 0xa2130e2      
11  wm_draw_region_buffer_free            wm_draw.c            415  0x3241b13      
12  WM_draw_region_free                   wm_draw.c            1096 0x3243534      
13  ED_view3d_stop_render_preview         space_view3d.c       244  0x4284e6a      
14  view3d_main_region_exit               space_view3d.c       462  0x42858c2      
15  ED_region_exit                        screen_edit.c        579  0x3bd5432      
16  ED_area_exit                          screen_edit.c        616  0x3bd55dc      
17  ED_screen_exit                        screen_edit.c        649  0x3bd5771      
18  WM_exit_ex                            wm_init_exit.c       511  0x325e011      
19  WM_exit                               wm_init_exit.c       674  0x325e29d      
20  wm_exit_handler                       wm_init_exit.c       447  0x325ddab   
I dont get immediate crashes, but I had a crash when closing blender after the above repro steps: ``` # backtrace ./blender(BLI_system_backtrace+0x20) [0x8642740] ./blender() [0xeac81a] /lib64/libpthread.so.0(+0x141e0) [0x7f3f81a651e0] ./blender() [0xebb240] ./blender() [0x85a20d7] ./blender(BLI_ghash_free+0x4e) [0x85a2a4e] ./blender(BKE_curve_editNurb_keyIndex_free+0x1a) [0xebeb9a] ./blender() [0x1cc05e8] ./blender() [0x1c84d92] ./blender(BKE_undosys_stack_clear+0x47) [0x1c84f27] ./blender(BKE_undosys_stack_destroy+0x9) [0x1c84fa9] ./blender(ED_editors_exit+0xef) [0x726ea9f] ./blender(WM_exit_ex+0x156) [0x12445e6] ./blender(WM_exit+0xe) [0x12449ee] ./blender() [0x1244a19] ./blender() [0x1237f7e] ./blender() [0x12385cc] ./blender(wm_event_do_handlers+0x416) [0x1238db6] ./blender(WM_main+0x20) [0x122f9d0] ./blender(main+0x31e) [0xde69de] /lib64/libc.so.6(__libc_start_main+0xf2) [0x7f3f8134b1e2] ./blender() [0xea9213] # Python backtrace ``` ``` 1 ?? 0x7fffd13956ce 2 ?? 0x7fffd13afb42 3 blender::gpu::GLContext::buf_free gl_context.cc 261 0xa2166c2 4 blender::gpu::GLVertBuf::release_data gl_vertex_buffer.cc 45 0xa2260eb 5 blender::gpu::VertBuf::clear gpu_vertex_buffer.cc 71 0xa20e5af 6 GPU_vertbuf_discard gpu_vertex_buffer.cc 160 0xa20e8d1 7 temp_buffer_handle_free draw_instance_data.c 211 0x35b1e2f 8 BLI_memblock_destroy BLI_memblock.c 91 0xb6c3772 9 DRW_instance_data_list_free draw_instance_data.c 362 0x35b2401 10 GPU_viewport_free gpu_viewport.c 1037 0xa2130e2 11 wm_draw_region_buffer_free wm_draw.c 415 0x3241b13 12 WM_draw_region_free wm_draw.c 1096 0x3243534 13 ED_view3d_stop_render_preview space_view3d.c 244 0x4284e6a 14 view3d_main_region_exit space_view3d.c 462 0x42858c2 15 ED_region_exit screen_edit.c 579 0x3bd5432 16 ED_area_exit screen_edit.c 616 0x3bd55dc 17 ED_screen_exit screen_edit.c 649 0x3bd5771 18 WM_exit_ex wm_init_exit.c 511 0x325e011 19 WM_exit wm_init_exit.c 674 0x325e29d 20 wm_exit_handler wm_init_exit.c 447 0x325ddab ```
Falk David self-assigned this 2021-01-06 12:54:33 +01:00
Member

On a related note: It seems that curves don't hide the curve itself when a handle is hidden. This is inconsistent regarding meshes and other objects.

On a related note: It seems that curves don't hide the curve itself when a handle is hidden. This is inconsistent regarding meshes and other objects.

This issue was referenced by 384b298608

This issue was referenced by 384b298608187d11c5a1a7520067034418cdd8ea

This issue was referenced by 2d3f96cace

This issue was referenced by 2d3f96cace6d63dbf15544dbe8a9a4fa912f6d6d

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
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
5 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#84453
No description provided.