Page MenuHome

Grease Pencil crashes in 32-Bit version
Open, Confirmed, MediumPublic

Description

System Information
Operating system: win 7
Graphics card: Vega 64
Full System Information: Here

Blender Version
Broken: -69b2f5268114-windows32
Works: -69b2f5268114-windows64

Short description of error

32-Bit Blender crashes when drawing with grease pencil.

Exact steps for others to reproduce the error

  • Open Blender
  • New --> 2D Animation

At which point I get this:

  • Select a brush and start drawing
  • Switch to eraser and crash

This file was saved in the 32-bit version:


Open and start drawing and erasing.


Here's the log from --debug --factory-startup

location: <unknown location>:-1
Traceback (most recent call last):
  File "N:\Temp\Blender\blender-2.80.0-git.69b2f5268114-windows32\2.80\scripts\startup\bl_ui\space_topbar.py", line 94, in draw
    self.draw_left(context)
  File "N:\Temp\Blender\blender-2.80.0-git.69b2f5268114-windows32\2.80\scripts\startup\bl_ui\space_topbar.py", line 119, in draw_left
    draw_fn(context, layout, tool)
  File "N:\Temp\Blender\blender-2.80.0-git.69b2f5268114-windows32\2.80\scripts\startup\bl_ui\space_topbar.py", line 353, in PAINT_GPENCIL
    draw_color_selector()
  File "N:\Temp\Blender\blender-2.80.0-git.69b2f5268114-windows32\2.80\scripts\startup\bl_ui\space_topbar.py", line 323, in draw_color_selector
    ma = gp_settings.material
AttributeError: 'NoneType' object has no attribute 'material'

Details

Type
Bug

Event Timeline

Jacques Lucke (JacquesLucke) triaged this task as Confirmed, Medium priority.Feb 11 2019, 2:23 PM

I get an assert when I open this file. Bisecting...

@Jacques Lucke (JacquesLucke) I got to open it once...now get the assert. The problem is related to brushes. They have forgotten the gp_settings... I'm investigating.

The eraser brush is damaged and the same for the default draw brush.

I going to do some changes to avoid crashes if the brush is damaged, but we need to know how the brush was damaged.

@Christopher Anderssarian (Christopher_Anderssarian) Could you tell us the steps you did with the brushes to get this situation? did you have any other crash before?

Okay, new update, I had been running with --debug (I'm having the same problems as reported in T60089 and with debug is the only way to run Blender)
For some spontaneous reason, Blender* launched (without the debug command)
Here's what I found:
Launching Blender's 32-Bit & 64-Bit build (-69b2f5268114-) both with --debug --factory-startup show different results:

-69b2f5268114-windows32-69b2f5268114-windows64

*(At least with Correction: -7f77961f1c38-windows32 it did, I haven't managed to get -69b2f5268114-windows32 running without --debug)

69b2f5268114-windows32 has brush damaged... maybe it's the template.

Are you able to reproduce the issue in a new file still?

@Jacques Lucke (JacquesLucke) Yep

March 22, 00:28:10 - 1ae6aaad43ad 2.80 Beta Windows 32 bit

Thanks, I was able to reproduce it now.

I'm investigating this. Right now I'm trying to figure out how to make a 32 bit debug build on windows that does not crash when I remove any object...

No, 64 bit seems fine in my initial test.

Brecht Van Lommel (brecht) lowered the priority of this task from Confirmed, Medium to Needs Information from User.Tue, Apr 2, 4:15 PM

Please try again with the very latest 2.80 32bit build:
https://builder.blender.org/download/

rB4f4cea727efd: Fix T63164: DNA size mismatches on 32bit, causing memory corruption and crashes. may have fixed some or all of these issues.

Christopher Anderssarian (Christopher_Anderssarian) raised the priority of this task from Needs Information from User to Needs Triage by Developer.Tue, Apr 2, 4:32 PM

Well, this task has sort of lost it's identity, with crash being fixed already.
But I still have the damaged brushes as seen in T61413#646242.

Also after File > Load Factory Settings while in the 2D Animation workspace?

If so, does it also happen when adding a new grease pencil object?

Brecht Van Lommel (brecht) triaged this task as Needs Information from User priority.Tue, Apr 2, 4:35 PM

Also after File > Load Factory Settings while in the 2D Animation workspace?

If so, does it also happen when adding a new grease pencil object?

Checking...

Also after File > Load Factory Settings while in the 2D Animation workspace?

Yes, I still get damaged brushes.

If so, does it also happen when adding a new grease pencil object?

I actually get a crash.

Quick repo steps:

blender-2.80.0-git.d986b04bd302-windows32

  • New 2D animation template
  • Switch to object mode
  • Add blank GPencil object
  • Crash
Brecht Van Lommel (brecht) raised the priority of this task from Needs Information from User to Confirmed, Medium.Tue, Apr 2, 5:02 PM

I'm now getting a crash just by opening the 2D Animation template:

blender-2.80.0-git.75f551facaf0-windows32

  • New 2D animation template
  • Crash

After more investigation it looks like you can't open blend files (with GPencil data) on different architectures than what it was made on.

In opening the 64-bit .blend with 32-bit I get:
blender-2.80.0-git.009dbc2bc9fb-windows32

GPencil - Starting Drawing
Error: Not freed memory blocks: 2, total unfreed memory 0.001961 MB
GPUVertBuf len: 940 0DD5E818
GPUBatch len: 88 29272480

In opening the 32-bit .blend with 64-bit I get:
blender-2.80.0-git.009dbc2bc9fb-windows64

Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Read blend: R:\Blender\BugFinds\GP Crash 32-bit\Test\2D Animation Template x86 remade.blend
read file R:\Blender\BugFinds\GP Crash 32-bit\Test\2D Animation Template x86 remade.blend
  Version 280 sub 55 date 2019-04-09 18:12 hash 009dbc2bc9fb
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
GPencil - Starting Drawing
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Memoryblock Data from SCE: end corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: is also corrupt
Memoryblock MORE THAN 1 MEMORYBLOCK CORRUPT: error in header
Error: Not freed memory blocks: 2, total unfreed memory 0.003937 MB
(null) len: 0 0000000014BC4258
Data from SCE len: 32 000000001B4F02E8
Data from SCE len: 32 000000001B4EFF68
Data from SCE len: 80 0000000014BC41B8
Data from SCE len: 12 0000000014C8F628
Data from SCE len: 24 0000000014C87A68
Data from SCE len: 24 0000000014C87AC8
reconstruct len: 40 000000001B4F0358
reconstruct len: 40 000000001B4EFFD8
GPUVertBuf len: 1272 000000000F4835A8
GPUBatch len: 152 000000000FFC0858
MemFileChunk len: 32 000000000FA86188
Data from SCE len: 32 000000000FA86118
Data from SCE len: 32 000000000FA85E78
Data from SCE len: 80 000000000FFE6E88
Data from SCE len: 12 000000000FE893F8
Data from SCE len: 24 000000000FE895D8
Data from SCE len: 24 000000000FE89578
reconstruct len: 32 000000000FA85EE8

up until last week, there was an issue in blenders DNA code for 32 bit, fields were not the size blender though they were, can you still reproduce the issue in files created in a recent build?

@Brecht Van Lommel (brecht) beat you to it :) T61413#653490

But yeah stupid of me not including the hash... updated comment!

yeah but you mentioned opening, files created with 'bad dna' are gonna have bad dna, but is the issue still there when you create a new file in a recent version?

Ahh... yes, the template files bundled with Blender would have the 'bad dna'.

checking...

Well I think that's it. I can't get it to crash anymore.
So are the template files going to have to get updated, as opening 2D Animation still crashes 32-bit?

Actually I can crash x64 (edc1b0167518-windows64) with a file created in blender-2.80.0-git.e2102e991764-windows32 without ...\Blender\2.80\config\startup.blend and 2D animation template: