Pencil: [BUG] Pencil2D Crash when creating new file after using specific commands

Created on 7 Nov 2017  路  3Comments  路  Source: pencil2d/pencil

--Issue Summary--

This is a very specific crash that occurred to me while testing Pencil2D and it involves creating a new file after a new bitmap layer, and using the smudge tool.

The first time I got a log file that described that QtCore.dll was at fault, but after the first time and investigating the issue I can crash Pencil2D pretty consistently however the module at fault that is always displayed now is Pencil2D.exe according to the Windows Event log.

I'll explain the details & steps below.

--Expected Results--

Pencil2D should not crash after using the smudge tool on a layer and then creating a new file.

--Crash Reference--

1st Crash Report
Faulting application name: Pencil2D.exe, versi贸n: 0.0.0.0, time stamp: 0x5a00fe09
Faulting module name: Qt5Core.dll, versi贸n: 5.6.2.0, times tamp: 0x57e77601
Exception code: 0xc0000005
Fault offset: 0x00000000000a98ff
Faulting process Id: 0x1c98
Faulting application start time: 0x01d357f51b16b3d2
Faulting application path: C:UsersMOREDownloadspencil2d-win64-2017-11-7Pencil2DPencil2D.exe
Faulting module path: C:UsersMOREDownloadspencil2d-win64-2017-11-07Pencil2DQt5Core.dll
Report Id: 92fc9d15-c3e9-11e7-8d8a-f46d048fe04e

7th Crash report
Faulting application name: Pencil2D.exe, versi贸n: 0.0.0.0, marca de tiempo: 0x5a00fe09
Faulting module name: Pencil2D.exe, versi贸n: 0.0.0.0, marca de tiempo: 0x5a00fe09
Exception code: 0xc0000005
Fault offset: 0x0000000000078490
Faulting process Id: 0x2528
Faulting application start time: 0x01d357fc7c7afbda
Faulting application path: C:UsersMOREDownloadspencil2d-win64-2017-11-07Pencil2DPencil2D.exe
Faulting module path: C:UsersMOREDownloadspencil2d-win64-2017-11-07Pencil2DPencil2D.exe
Report Id: c7d07dd7-c3ef-11e7-8d8a-f46d048fe04e

--Steps to reproduce--

1) Open a new Pencil2d file
2) Go to Edit > Preferences > General > Background > Select the transparent bg visual representation.
3) Bitmap layer is already selected -> Create a new bitmap layer, this layer will be created BELOW the current layer.
4) Select the TOP bitmap layer to draw on it
5) Select the smudge tool and "draw" a continuous stroke on the canvas, long enough to notice lag (the smudge tool behavior should be reported on a different issue)
6) Immediately fo to File > New. When asked if you want to save press "No"
7) Profit??? (Sorry, I mean Pencil2d Crashes at this stage everytime)

--System Information--

  • Pencil2D Version:
    commit: 83e0e6c11487bc48c006e341360125c52333b4dc
    date: 2017-11-07_10:15:49

  • Operating System:
    Windows 7

  • RAM Size:
    8GB

Bug

Most helpful comment

Replicated on macOS 10.13.1. Relevant portion of the debugger stack trace:

1   std::map<int, KeyFrame *, std::greater<int>, std::allocator<std::pair<int const, KeyFrame *>>>::size() const                                                map                1024 0x10003e244 
2   Layer::keyFrameCount() const                                                                                                                                layer.h            79   0x10003e230 
3   CanvasRenderer::paintOnionSkin(QPainter&)                                                                                                                   canvasrenderer.cpp 112  0x100145629 
4   CanvasRenderer::paint(Object *, int, int, QRect)                                                                                                            canvasrenderer.cpp 91   0x100145530 
5   ScribbleArea::drawCanvas(int, QRect)                                                                                                                        scribblearea.cpp   1091 0x1000cae02 
6   ScribbleArea::paintEvent(QPaintEvent *)                                                                                                                     scribblearea.cpp   899  0x1000cbb58 

All 3 comments

Replicated on macOS 10.13.1. Relevant portion of the debugger stack trace:

1   std::map<int, KeyFrame *, std::greater<int>, std::allocator<std::pair<int const, KeyFrame *>>>::size() const                                                map                1024 0x10003e244 
2   Layer::keyFrameCount() const                                                                                                                                layer.h            79   0x10003e230 
3   CanvasRenderer::paintOnionSkin(QPainter&)                                                                                                                   canvasrenderer.cpp 112  0x100145629 
4   CanvasRenderer::paint(Object *, int, int, QRect)                                                                                                            canvasrenderer.cpp 91   0x100145530 
5   ScribbleArea::drawCanvas(int, QRect)                                                                                                                        scribblearea.cpp   1091 0x1000cae02 
6   ScribbleArea::paintEvent(QPaintEvent *)                                                                                                                     scribblearea.cpp   899  0x1000cbb58 

Please test this in the 8th Nov 2017 version.

@chchwy Confirmed working on case scenario on Windows 7. Hopefully someone can test this again on MAC / Linux.

Was this page helpful?
0 / 5 - 0 ratings