Segmentation fault at BIF_draw_manipulator #47367

Closed
opened 2016-02-09 00:26:00 +01:00 by Sami Pelkonen · 4 comments

System Information
64-bit Fedora 22 and NVIDIA ION

Blender Version
Broken: 2.76 dd185bf (local build from git with debug info)

Short description of error
Blender crashes with segmentation fault when showing hidden objects with alt+h.

Exact steps for others to reproduce the error
Exact steps to reproduce are still bit unclear, but seems to happen quite easily when editing my current project and has always occurred after pressing alt+h.

Here's a full backtrace of the segfault:
(gdb) bt full

0 0x000000000222656a in BIF_draw_manipulator (C=0xb0e53c8)

  at /home/pltsi/Blender/blender.git/source/blender/editors/transform/transform_manipulator.c:1636
      gpd = 0x0
      ob = 0x0
      sa = 0xce336c8
      ar = 0xce36878
      scene = 0xf4e16f8
      v3d = 0xce36da8
      rv3d = 0xce36a08
      totsel = 2
      is_picksel = false

1 0x0000000002141b54 in view3d_draw_objects (C=0xb0e53c8, scene=0xf4e16f8, v3d=0xce36da8,

  ar=0xce36878, grid_unit=0x7fffeda87110, do_bgpic=true, draw_offscreen=false, fx=0x0)
  at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:2894
      rv3d = 0xce36a08
      base = 0x0
      do_camera_frame = true
      draw_grids = true
      draw_floor = true
      draw_grids_after = false
      do_composite_xray = false
      xrayclear = true

2 0x0000000002144a19 in view3d_main_region_draw_objects (C=0xb0e53c8, scene=0xf4e16f8,

  v3d=0xce36da8, ar=0xce36878, grid_unit=0x7fffeda87110)
  at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:3892
      win = 0xce15fc8
      rv3d = 0xce36a08
      lay_used = 14383
      do_compositing = false

3 0x00000000021450d4 in view3d_main_region_draw (C=0xb0e53c8, ar=0xce36878)

  at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:4041
      scene = 0xf4e16f8
      v3d = 0xce36da8
      grid_unit = 0x0
      border_rect = {xmin = -1138501878, xmax = -1138501878, ymin = 1147748352, 
        ymax = 1150713856}
      render_border = false
      clip_border = false

4 0x0000000002577aaf in ED_region_do_draw (C=0xb0e53c8, ar=0xce36878)

  at /home/pltsi/Blender/blender.git/source/blender/editors/screen/area.c:518
      win = 0xce15fc8
- Type <return> to continue, or q <return> to quit---
      sa = 0xce336c8
      at = 0xb3913e8
      scissor_pad = true

5 0x0000000002021a40 in wm_method_draw_triple (C=0xb0e53c8, win=0xce15fc8)

  at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm_draw.c:556
      wm = 0xce15e58
      triple = 0xced40d8
      dd = 0x0
      dd_next = 0x7fffeda871e0
      drawdata = 0xce54918
      screen = 0xce235b8
      sa = 0xce336c8
      ar = 0xce36878
      copytex = 1

6 0x00000000020229e9 in wm_draw_update (C=0xb0e53c8)

  at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm_draw.c:958
      wm = 0xce15e58
      win = 0xce15fc8
      drawmethod = 0

7 0x000000000201c3bf in WM_main (C=0xb0e53c8)

  at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm.c:495

No locals.

8 0x000000000201b50a in main (argc=1, argv=0x7fffeda87388)

  at /home/pltsi/Blender/blender.git/source/creator/creator.c:2097
      C = 0xb0e53c8
      syshandle = 0xb1b5be0
      ba = 0xb0f5d88

Line causing the segfault is here:
(gdb) list
1631 bGPdata *gpd = CTX_data_gpencil_data(C);
1632 Object *ob = OBACT;
1633
1634 if (((v3d->around == V3D_AROUND_ACTIVE) && (scene->obedit == NULL)) &&
1635 ((gpd == NULL) || !(gpd->flag & GP_DATA_STROKE_EDITMODE)) &&
1636 (!(ob->mode & OB_MODE_POSE)))
1637 {
1638 copy_v3_v3(rv3d->twmat- [x], ob->obmat[3]);
1639 }
1640 else {

As ob is NULL, it's the ob->mode reference.

According to git, the ob NULL check was removed in Grease Pencil: Merge GPencil_Editing_Stage3 branch into master commit

**System Information** 64-bit Fedora 22 and NVIDIA ION **Blender Version** Broken: 2.76 dd185bf (local build from git with debug info) **Short description of error** Blender crashes with segmentation fault when showing hidden objects with alt+h. **Exact steps for others to reproduce the error** Exact steps to reproduce are still bit unclear, but seems to happen quite easily when editing my current project and has always occurred after pressing alt+h. Here's a full backtrace of the segfault: (gdb) bt full # 0 0x000000000222656a in BIF_draw_manipulator (C=0xb0e53c8) ``` at /home/pltsi/Blender/blender.git/source/blender/editors/transform/transform_manipulator.c:1636 gpd = 0x0 ob = 0x0 sa = 0xce336c8 ar = 0xce36878 scene = 0xf4e16f8 v3d = 0xce36da8 rv3d = 0xce36a08 totsel = 2 is_picksel = false ``` # 1 0x0000000002141b54 in view3d_draw_objects (C=0xb0e53c8, scene=0xf4e16f8, v3d=0xce36da8, ``` ar=0xce36878, grid_unit=0x7fffeda87110, do_bgpic=true, draw_offscreen=false, fx=0x0) at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:2894 rv3d = 0xce36a08 base = 0x0 do_camera_frame = true draw_grids = true draw_floor = true draw_grids_after = false do_composite_xray = false xrayclear = true ``` # 2 0x0000000002144a19 in view3d_main_region_draw_objects (C=0xb0e53c8, scene=0xf4e16f8, ``` v3d=0xce36da8, ar=0xce36878, grid_unit=0x7fffeda87110) at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:3892 win = 0xce15fc8 rv3d = 0xce36a08 lay_used = 14383 do_compositing = false ``` # 3 0x00000000021450d4 in view3d_main_region_draw (C=0xb0e53c8, ar=0xce36878) ``` at /home/pltsi/Blender/blender.git/source/blender/editors/space_view3d/view3d_draw.c:4041 scene = 0xf4e16f8 v3d = 0xce36da8 grid_unit = 0x0 border_rect = {xmin = -1138501878, xmax = -1138501878, ymin = 1147748352, ymax = 1150713856} render_border = false clip_border = false ``` # 4 0x0000000002577aaf in ED_region_do_draw (C=0xb0e53c8, ar=0xce36878) ``` at /home/pltsi/Blender/blender.git/source/blender/editors/screen/area.c:518 win = 0xce15fc8 ``` - Type <return> to continue, or q <return> to quit--- ``` sa = 0xce336c8 at = 0xb3913e8 scissor_pad = true ``` # 5 0x0000000002021a40 in wm_method_draw_triple (C=0xb0e53c8, win=0xce15fc8) ``` at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm_draw.c:556 wm = 0xce15e58 triple = 0xced40d8 dd = 0x0 dd_next = 0x7fffeda871e0 drawdata = 0xce54918 screen = 0xce235b8 sa = 0xce336c8 ar = 0xce36878 copytex = 1 ``` # 6 0x00000000020229e9 in wm_draw_update (C=0xb0e53c8) ``` at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm_draw.c:958 wm = 0xce15e58 win = 0xce15fc8 drawmethod = 0 ``` # 7 0x000000000201c3bf in WM_main (C=0xb0e53c8) ``` at /home/pltsi/Blender/blender.git/source/blender/windowmanager/intern/wm.c:495 ``` No locals. # 8 0x000000000201b50a in main (argc=1, argv=0x7fffeda87388) ``` at /home/pltsi/Blender/blender.git/source/creator/creator.c:2097 C = 0xb0e53c8 syshandle = 0xb1b5be0 ba = 0xb0f5d88 ``` Line causing the segfault is here: (gdb) list 1631 bGPdata *gpd = CTX_data_gpencil_data(C); 1632 Object *ob = OBACT; 1633 1634 if (((v3d->around == V3D_AROUND_ACTIVE) && (scene->obedit == NULL)) && 1635 ((gpd == NULL) || !(gpd->flag & GP_DATA_STROKE_EDITMODE)) && 1636 (!(ob->mode & OB_MODE_POSE))) 1637 { 1638 copy_v3_v3(rv3d->twmat- [x], ob->obmat[3]); 1639 } 1640 else { As ob is NULL, it's the ob->mode reference. According to git, the ob NULL check was removed in Grease Pencil: Merge GPencil_Editing_Stage3 branch into master commit
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @pltsi

Added subscriber: @pltsi
Joshua Leung self-assigned this 2016-02-09 03:12:39 +01:00

This issue was referenced by 69327137c0

This issue was referenced by 69327137c02ae2ccbfa5a49ec736cf0dff1904cd
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' 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
3 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#47367
No description provided.