McManning / McManning/Scratchpad

Blender 2.91 - GL Context Crashes

Open
#15 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
37
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Got the following exception - sourced from Mesh.draw() glDrawElements after either copying a mesh or adding a new mesh to the scene while the render engine is active.

# Blender 2.91.0, Commit date: 2020-11-25 08:34, Hash 0f45cab862b8
bpy.context.space_data.context = 'RENDER'  # Property
bpy.context.scene.render.engine = 'foo_renderer'  # Property
bpy.context.space_data.shading.type = 'MATERIAL'  # Property
bpy.ops.transform.translate(value=(-1.0005, -0.840433, 1.15594), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)  # Operator
Copied 1 selected object(s)  # Info
bpy.ops.view3d.pastebuffer()  # Operator
1 object(s) pasted  # Info

# backtrace
Exception Record:

ExceptionCode         : EXCEPTION_ACCESS_VIOLATION
Exception Address     : 0x00007FFA5607D0E0
Exception Module      : nvoglv64.dll
Exception Flags       : 0x00000000
Exception Parameters  : 0x2
	Parameters[0] : 0x0000000000000000
	Parameters[1] : 0x0000000000000000


Stack trace:
nvoglv64.dll        :0x00007FFA5607D0E0  Symbols not available


Loaded Modules :
0x00007FF75BA20000 2.9.1.0              blender.exe c:\Program Files\Blender Foundation\Blender 2.91\blender.pdb 
0x00007FFAB7660000 10.0.18362.1171      ntdll.dll  
... etc ...

# Python backtrace
  File "C:\Users\cmcma\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\micro.py", line 428 in draw
  File "C:\Users\cmcma\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\micro.py", line 594 in view_draw

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported copy-or-add-mesh sequence in Blender 2.91 with the render engine active, then inspect the draw path at addons/micro.py lines 428 and 594. Use the reported Mesh.draw()/glDrawElements crash and access violation as the failure to investigate; done means the sequence no longer crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
blender, python
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.