Bug 319291

Summary: Plasmate crashes when creating new Data Engine for Python
Product: [Plasma] Plasma SDK Reporter: Denis Falqueto <denisfalqueto>
Component: GeneralAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: pprkut, shlomif
Priority: NOR    
Version: Git   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Stack trace after crash

Description Denis Falqueto 2013-05-03 20:01:49 UTC
When you create a new project for a Data Engine in Python, Plasmate crashes (attached stacktrace).

Reproducible: Always

Steps to Reproduce:
1. Start plasmate
2. Create a new project for a Data Engine
3. Set a name for the new project
4. Select python as the language
5. Click Create! and it will crash



Arch Linux
Kernel 3.8.7
KDE 4.10.2
Qt 4.8.4
Plasmate was compiled from git sources, with tip at commit 6224611fdaaf1881b11ff236eb900a21fd2aa53b
Comment 1 Denis Falqueto 2013-05-03 20:03:38 UTC
Created attachment 79679 [details]
Stack trace after crash

It was generated with debug information for plasmate, but not for KDE or Qt.
Comment 2 Denis Falqueto 2013-05-03 20:40:15 UTC
Review: #110288
https://git.reviewboard.kde.org/r/110288/
Comment 3 Shlomi Fish 2013-05-03 20:56:40 UTC
Can reproduce here on Mageia Linux 3 (Cauldron) x86-64. Thanks for the patch.
Comment 4 Heinz Wiesinger 2013-07-15 15:12:07 UTC
I'm also getting similar crashes when trying to create any data engine project in plasmate, so python, ruby and javascript. Tried the patch on reviewboard, but it has no effect.
Comment 5 Albert Astals Cid 2013-10-12 16:07:48 UTC
Git commit 61d18f327ccec54622166464d069b43a4b99a5e7 by Albert Astals Cid, on behalf of Denis Falqueto.
Committed on 12/10/2013 at 16:06.
Pushed by aacid into branch 'master'.

Checks if an optional field was instantiated before accessing it

The private field m_konsolewidget is initialized only on some specific cases, so it should be accessed with caution. But there are some places in witch it's being used without checking if it was instantiated or not. This patch fixes those accesses, by checking if it is instantiated or not.

This was laying around in reviewboard approved by Giorgos Tsiapaliokas but uncommited for 5 months

REVIEW: 110288

M  +6    -2    plasmate/mainwindow.cpp

http://commits.kde.org/plasmate/61d18f327ccec54622166464d069b43a4b99a5e7