Re: 4.3 branch plasma crash in AbstractTaskItem::basicPreferredSize

2009-08-17 Thread Aaron J. Seigo
On Friday 07 August 2009, David Faure wrote:
 On Friday 07 August 2009, Marco Martin wrote:
  On Friday 07 August 2009, David Faure wrote:
   Plasma crashes rather often for me.
   I finally got a bt of the crash. Is this enough info for anyone to fix
   it?

 And now I got another backtrace, no null pointer this time
  (am I the only one opening and closing windows in kde 4.3???).

the last batch of problems (in libtaskmanager) were only triggered by people 
who had auto-expanding panels or the like where the size of the taskbar 
changed when the number of windows changed. it looks like the same or similar 
thing is happening here, only now in the widget itself ...

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Software


signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: 4.3 branch plasma crash in AbstractTaskItem::basicPreferredSize

2009-08-09 Thread Marco Martin
i'm running the taskbar from 4.3 branch now, let's see if i can
reproduce the crashes

On 8/8/09, David Faure fa...@kde.org wrote:
 On Friday 07 August 2009, Marco Martin wrote:
 On Friday 07 August 2009, David Faure wrote:
  Plasma crashes rather often for me.
  I finally got a bt of the crash. Is this enough info for anyone to fix
  it?

 And now I got another backtrace, no null pointer this time
  (am I the only one opening and closing windows in kde 4.3???).
 I wonder if the auto-restarting of plasma makes most people ignore such
 crashes, or if I activated an option (e.g. task grouping) that most people
 didn't.

 #0  0x7f21de30b2de in QGraphicsItem::parentItem (this=0x4197120) at
 graphicsview/qgraphicsitem.cpp:938
 #1  0x7f21de3542e0 in QGraphicsLayoutPrivate::addChildLayoutItem
 (this=0x2c46340, layoutItem=0x4190620) at
 graphicsview/qgraphicslayout_p.cpp:162
 #2  0x7f21de37367b in QGraphicsGridLayout::addItem (this=0x2c462e0,
 item=0x4190620, row=0, column=0, rowSpan=1, columnSpan=1, alignment={i =
 -362538464}) at graphicsview/qgraphicsgridlayout.cpp:158
 #3  0x7f21c58cd8c4 in TaskItemLayout::layoutItems (this=0x2c462e0) at
 /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskitemlayout.cpp:370
 #4  0x7f21c58d8ea5 in TaskGroupItem::constraintsChanged (this=0x2c45110,
 constraints={i = -362538176}) at
 /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskgroupitem.cpp:726
 #5  0x7f21c58dbf4c in TaskGroupItem::qt_metacall (this=0x2c45110,
 _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffea641cb0) at
 /d/kde/build/4/kdebase/workspace/plasma/applets/tasks/taskgroupitem.moc:110
 #6  0x7f21dd5a2614 in QMetaObject::activate (sender=0x27b4890,
 from_signal_index=36, to_signal_index=36, argv=0x7fffea641cb0) at
 kernel/qobject.cpp:3109
 #7  0x7f21dd5a3a11 in QMetaObject::activate (sender=0x27b4890,
 m=0x7f21c5ae7f60, local_signal_index=0, argv=0x7fffea641cb0) at
 kernel/qobject.cpp:3186
 #8  0x7f21c58c7599 in Tasks::constraintsChanged (this=0x27b4890, _t1={i
 = -362537728}) at
 /d/kde/build/4/kdebase/workspace/plasma/applets/tasks/tasks.moc:95
 #9  0x7f21c58c8ee3 in Tasks::constraintsEvent (this=0x27b4890,
 constraints={i = -362537344}) at
 /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/tasks.cpp:169
 #10 0x7f21e1bb4433 in Plasma::Applet::flushPendingConstraintsEvents
 (this=0x27b4890) at /d/kde/src/4/kdelibs/plasma/applet.cpp:1163
 #11 0x7f21e1bb458b in Plasma::Applet::timerEvent (this=0x27b4890,
 event=0x7fffea642860) at /d/kde/src/4/kdelibs/plasma/applet.cpp:2110

 (gdb) p *this
 $3 = {_vptr.QGraphicsItem = 0x30a2340, d_ptr = 0x1}
 Ouch. Probably already deleted.

 (gdb) up
 #1  0x7f21de3542e0 in QGraphicsLayoutPrivate::addChildLayoutItem
 (this=0x2c46340, layoutItem=0x4190620) at
 graphicsview/qgraphicslayout_p.cpp:162
 (gdb) p item
 $9 = (class QGraphicsItem *) 0x4197120

 Comes from if (QGraphicsItem *item = layoutItem-graphicsItem()) {

 (gdb) p layoutItem
 $11 = (class QGraphicsLayoutItem *) 0x4190620
 (gdb) p *layoutItem.d_ptr
 warning: can't find linker symbol for virtual table for
 `QGraphicsLayoutItemPrivate' value
 $8 = {_vptr.QGraphicsLayoutItemPrivate = 0x7f21dca5db40, sizePolicy = {data
 = 3701857088}, parent = 0x2c462e0, userSizeHints = {{wd =
 3.3979969529082241e-316, ht = -1}, {wd = 0, ht = 0}, {wd =
 1.8733483140837378e-316, ht = 0}, {wd = 0, ht = 0}}, cachedSizeHints = {{wd
 = 0, ht = 4.9406564584124654e-324}, {wd = 0, ht = 0}, {wd = 0, ht = 0}, {wd
 = 4.9406564584124654e-324, ht = 6.9062189363508992e-310}}, cachedConstraint
 = {wd = 6.9062189363508992e-310, ht = -1}, sizeHintCacheDirty = 0, isLayout
 = 0, ownedByLayout = 0, q_ptr = 0x6, geom = {xp = 6.7903865310888714e-313,
 yp = 4.9406564584124654e-324, w = 0, h = 0}, graphicsItem = 0x4197120}

 The value of q_ptr in there indicates that layoutItem, too, is already
 deleted.

 But the value of layoutItem comes from m_itemPositions in
 TaskItemLayout::layoutItems,
 dunno where to go from there. But obviously that list contains dangling
 pointers.
 I could run plasma in valgrind all day, but, hmm. Not on the laptop ;)

 Qt-4.5.2

 --
 David Faure, fa...@kde.org, sponsored by Qt Software @ Nokia to work on KDE,
 Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: 4.3 branch plasma crash in AbstractTaskItem::basicPreferredSize

2009-08-07 Thread Marco Martin
On Friday 07 August 2009, David Faure wrote:
 Plasma crashes rather often for me.
 I finally got a bt of the crash. Is this enough info for anyone to fix it?
 Please CC me, I'm not subscribed.

 #0  0x7fd31e4be4c4 in Tasks::itemTopMargin (this=0x0) at
 /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/tasks.h:92 #1 
 0x7fd31e4bd0ab in AbstractTaskItem::basicPreferredSize (this=0x2bce6c0)
 at /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/abstr
 acttaskitem.cpp:99
^^ this means m_applet in abstracttaskitem is anvalid at some point. how is it 
possible, since the pointer to the applet gets passed in the ctor? (and after, 
as long as the applet is live, that pointer should continue to be valid..)
somebody has got some ideas? :p

 #2  0x7fd31e4b5a64 in TaskItemLayout::preferredColumns (this=0x2c5e640)
 at /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskiteml
 ayout.cpp:206
 #3  0x7fd31e4b5f53 in TaskItemLayout::gridLayoutSize (this=0x2c5e640)
 at /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskitemlay
 out.cpp:222
 #4  0x7fd31e4b600e in TaskItemLayout::layoutItems (this=0x2c5e640) at
 /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskitemlayout .cpp:245
 #5  0x7fd31e4b6a67 in TaskItemLayout::remove (this=0x2c5e640,
 item=0x42e6140) at /d/kde/src/4/kdebase/workspace/plasma/applets/tasks/tas
 kitemlayout.cpp:136
 #6  0x7fd31e4b6b6f in TaskItemLayout::removeTaskItem (this=0x2c5e640,
 item=0x42e6140) at /d/kde/src/4/kdebase/workspace/plasma/applets/t
 asks/taskitemlayout.cpp:93
 #7  0x7fd31e4c2e1f in TaskGroupItem::itemRemoved (this=0x2c5dcd0,
 groupableItem=0x420c770) at /d/kde/src/4/kdebase/workspace/plasma/appl
 ets/tasks/taskgroupitem.cpp:521
 #8  0x7fd31e4c4fc2 in TaskGroupItem::qt_metacall (this=0x2c5dcd0,
 _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7fff4322dc60) at /d/kde
 /build/4/kdebase/workspace/plasma/applets/tasks/taskgroupitem.moc:114 #9 
 0x7fd33618b614 in QMetaObject::activate (sender=0x2c572f0,
 from_signal_index=22, to_signal_index=22, argv=0x7fff4322dc60) at kernel/
 qobject.cpp:3109
 #10 0x7fd33618ca11 in QMetaObject::activate (sender=0x2c572f0,
 m=0x7fd31eb2f740, local_signal_index=1, argv=0x7fff4322dc60) at kernel/qo
 bject.cpp:3186
 #11 0x7fd31e90de13 in TaskManager::TaskGroup::itemRemoved
 (this=0x2c572f0, _t1=0x420c770) at
 /d/kde/build/4/kdebase/workspace/libs/taskm anager/taskgroup.moc:146
 #12 0x7fd31e90f83b in TaskManager::TaskGroup::remove (this=0x2c572f0,
 item=0x420c770) at /d/kde/src/4/kdebase/workspace/libs/taskmanager
 /taskgroup.cpp:182
 #13 0x7fd31e90fa4f in TaskManager::TaskGroup::add (this=0x4173f10,
 item=0x420c770) at /d/kde/src/4/kdebase/workspace/libs/taskmanager/ta
 skgroup.cpp:120
 #14 0x7fd31e8f0221 in
 TaskManager::AbstractGroupingStrategy::createGroup (this=0x36734a0,
 items={{p = {d = 0x7fff4322de20}, d = 0x7fff43 22de20}}) at
 /d/kde/src/4/kdebase/workspace/libs/taskmanager/abstractgroupingstrategy.cp
p:140 #15 0x7fd31e8faf9f in
 TaskManager::ProgramGroupingStrategy::programGrouping (this=0x36734a0,
 taskItem=0x31b2320, groupItem=0x2c572f0) at
 /d/kde/src/4/kdebase/workspace/libs/taskmanager/strategies/programgroupings
trategy.cpp:191 #16 0x7fd31e8fb264 in
 TaskManager::ProgramGroupingStrategy::handleItem (this=0x36734a0,
 item=0x31b2320) at /d/kde/src/4/kdebase/workspac
 e/libs/taskmanager/strategies/programgroupingstrategy.cpp:152
 #17 0x7fd31e8f3e4b in TaskManager::GroupManagerPrivate::addTask
 (this=0x2c3f9e0, task={d = 0x7fff4322e0b0}) at /d/kde/src/4/kdebase/work
 space/libs/taskmanager/groupmanager.cpp:288
 #18 0x7fd31e8f436c in
 TaskManager::GroupManagerPrivate::actuallyReloadTasks (this=0x2c3f9e0) at
 /d/kde/src/4/kdebase/workspace/libs/task manager/groupmanager.cpp:155
 #19 0x7fd31e8f4cd3 in TaskManager::GroupManager::qt_metacall
 (this=0x2c3e5c0, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x7fff4322e23
 0) at
 /d/kde/build/4/kdebase/workspace/libs/taskmanager/groupmanager.moc:108 #20
 0x7fd33618b614 in QMetaObject::activate (sender=0x2c3fa48,
 from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3
 109
 #21 0x7fd33618ca11 in QMetaObject::activate (sender=0x2c3fa48,
 m=0x7fd3364842a0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3
 186
 #22 0x7fd3361c770c in QTimer::timeout (this=0x2c3fa48) at
 .moc/debug-shared/moc_qtimer.cpp:128 #23 0x7fd336193fd6 in
 QTimer::timerEvent (this=0x2c3fa48, e=0x7fff4322eac0) at
 kernel/qtimer.cpp:261 #24 0x7fd3361893e8 in QObject::event
 (this=0x2c3fa48, e=0x7fff4322eac0) at kernel/qobject.cpp:1074 #25
 0x7fd33690af03 in QApplicationPrivate::notify_helper (this=0x2426f10,
 receiver=0x2c3fa48, e=0x7fff4322eac0) at kernel/qapplication.c pp:4056
 #26 0x7fd33690b2a5 in QApplication::notify (this=0x240fbf0,
 receiver=0x2c3fa48, e=0x7fff4322eac0) at kernel/qapplication.cpp:3603 #27
 0x7fd3392ab3f7 in KApplication::notify (this=0x240fbf0,
 

Re: 4.3 branch plasma crash in AbstractTaskItem::basicPreferredSize

2009-08-07 Thread David Faure
On Friday 07 August 2009, Marco Martin wrote:
 On Friday 07 August 2009, David Faure wrote:
  Plasma crashes rather often for me.
  I finally got a bt of the crash. Is this enough info for anyone to fix it?

And now I got another backtrace, no null pointer this time
 (am I the only one opening and closing windows in kde 4.3???).
I wonder if the auto-restarting of plasma makes most people ignore such
crashes, or if I activated an option (e.g. task grouping) that most people 
didn't.

#0  0x7f21de30b2de in QGraphicsItem::parentItem (this=0x4197120) at 
graphicsview/qgraphicsitem.cpp:938
#1  0x7f21de3542e0 in QGraphicsLayoutPrivate::addChildLayoutItem 
(this=0x2c46340, layoutItem=0x4190620) at graphicsview/qgraphicslayout_p.cpp:162
#2  0x7f21de37367b in QGraphicsGridLayout::addItem (this=0x2c462e0, 
item=0x4190620, row=0, column=0, rowSpan=1, columnSpan=1, alignment={i = 
-362538464}) at graphicsview/qgraphicsgridlayout.cpp:158
#3  0x7f21c58cd8c4 in TaskItemLayout::layoutItems (this=0x2c462e0) at 
/d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskitemlayout.cpp:370
#4  0x7f21c58d8ea5 in TaskGroupItem::constraintsChanged (this=0x2c45110, 
constraints={i = -362538176}) at 
/d/kde/src/4/kdebase/workspace/plasma/applets/tasks/taskgroupitem.cpp:726
#5  0x7f21c58dbf4c in TaskGroupItem::qt_metacall (this=0x2c45110, 
_c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffea641cb0) at 
/d/kde/build/4/kdebase/workspace/plasma/applets/tasks/taskgroupitem.moc:110
#6  0x7f21dd5a2614 in QMetaObject::activate (sender=0x27b4890, 
from_signal_index=36, to_signal_index=36, argv=0x7fffea641cb0) at 
kernel/qobject.cpp:3109
#7  0x7f21dd5a3a11 in QMetaObject::activate (sender=0x27b4890, 
m=0x7f21c5ae7f60, local_signal_index=0, argv=0x7fffea641cb0) at 
kernel/qobject.cpp:3186
#8  0x7f21c58c7599 in Tasks::constraintsChanged (this=0x27b4890, _t1={i = 
-362537728}) at 
/d/kde/build/4/kdebase/workspace/plasma/applets/tasks/tasks.moc:95
#9  0x7f21c58c8ee3 in Tasks::constraintsEvent (this=0x27b4890, 
constraints={i = -362537344}) at 
/d/kde/src/4/kdebase/workspace/plasma/applets/tasks/tasks.cpp:169
#10 0x7f21e1bb4433 in Plasma::Applet::flushPendingConstraintsEvents 
(this=0x27b4890) at /d/kde/src/4/kdelibs/plasma/applet.cpp:1163
#11 0x7f21e1bb458b in Plasma::Applet::timerEvent (this=0x27b4890, 
event=0x7fffea642860) at /d/kde/src/4/kdelibs/plasma/applet.cpp:2110

(gdb) p *this
$3 = {_vptr.QGraphicsItem = 0x30a2340, d_ptr = 0x1}
Ouch. Probably already deleted.

(gdb) up
#1  0x7f21de3542e0 in QGraphicsLayoutPrivate::addChildLayoutItem 
(this=0x2c46340, layoutItem=0x4190620) at graphicsview/qgraphicslayout_p.cpp:162
(gdb) p item
$9 = (class QGraphicsItem *) 0x4197120

Comes from if (QGraphicsItem *item = layoutItem-graphicsItem()) {

(gdb) p layoutItem
$11 = (class QGraphicsLayoutItem *) 0x4190620
(gdb) p *layoutItem.d_ptr
warning: can't find linker symbol for virtual table for 
`QGraphicsLayoutItemPrivate' value
$8 = {_vptr.QGraphicsLayoutItemPrivate = 0x7f21dca5db40, sizePolicy = {data = 
3701857088}, parent = 0x2c462e0, userSizeHints = {{wd = 
3.3979969529082241e-316, ht = -1}, {wd = 0, ht = 0}, {wd = 
1.8733483140837378e-316, ht = 0}, {wd = 0, ht = 0}}, cachedSizeHints = {{wd = 
0, ht = 4.9406564584124654e-324}, {wd = 0, ht = 0}, {wd = 0, ht = 0}, {wd = 
4.9406564584124654e-324, ht = 6.9062189363508992e-310}}, cachedConstraint = {wd 
= 6.9062189363508992e-310, ht = -1}, sizeHintCacheDirty = 0, isLayout = 0, 
ownedByLayout = 0, q_ptr = 0x6, geom = {xp = 6.7903865310888714e-313, yp = 
4.9406564584124654e-324, w = 0, h = 0}, graphicsItem = 0x4197120}

The value of q_ptr in there indicates that layoutItem, too, is already deleted.

But the value of layoutItem comes from m_itemPositions in 
TaskItemLayout::layoutItems,
dunno where to go from there. But obviously that list contains dangling 
pointers.
I could run plasma in valgrind all day, but, hmm. Not on the laptop ;)

Qt-4.5.2

-- 
David Faure, fa...@kde.org, sponsored by Qt Software @ Nokia to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel