[umbrello-devel] [umbrello] [Bug 338797] New: SEGV crash when umbrello is opening AIXM files
M Hounsell at ACFR
m.hounsell at acfr.usyd.edu.au
Thu Sep 4 04:57:12 UTC 2014
https://bugs.kde.org/show_bug.cgi?id=338797
Bug ID: 338797
Summary: SEGV crash when umbrello is opening AIXM files
Product: umbrello
Version: Git
Platform: Compiled Sources
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: NOR
Component: general
Assignee: umbrello-devel at kde.org
Reporter: m.hounsell at acfr.usyd.edu.au
The program causes a SEGV while it is displaying all the diagrams contained in
the below model. The program has not yet successfully viewed the model. The
model was created using Rational Rose.
Source Model
http://www.aixm.aero/gallery/content/public/AIXM51/AIXM-5-1-20100201-uml.zip
See https://bugs.kde.org/show_bug.cgi?id=338536
#0 ClassifierWidget::displayedMembers(this = 0x567b860, this at entry =
0x567b860, ot = UMLObject::ot_Attribute, ot at entry = UMLObject::ot_Attribute) at
/home/mhounsell/src/umbrello/umbrello/widgets/classifierwidget.cpp:448
#1 ClassifierWidget::displayedAttributes(this = 0x567b860, this at entry =
0x567b860) at
/home/mhounsell/src/umbrello/umbrello/widgets/classifierwidget.cpp:608
#2 ClassifierWidget::paint(this = 0x567b860, painter = 0x7fffffffaa70, option
= 0x582e648, widget = 0x42fa040) at
/home/mhounsell/src/umbrello/umbrello/widgets/classifierwidget.cpp:750
#3 QGraphicsScenePrivate::draw(this = 0x582e420, this at entry = 0x582e420, item
= 0x567b870, item at entry = 0x567b870, painter = 0x7fffffffaa70, painter at entry =
0x7fffffffaa70, viewTransform = 0x7fffffffab20, viewTransform at entry =
0x7fffffffab20, transformPtr = 0x7fffffffa7b0, transformPtr at entry =
0x7fffffffa7b0, exposedRegion = 0x56d09a8, exposedRegion at entry = 0x56d09a8,
widget = 0x42fa040, opacity = 1, opacity at entry = 1, effectTransform = 0x0,
effectTransform at entry = 0x0, wasDirtyParentSceneTransform = false,
wasDirtyParentSceneTransform at entry = false, drawItem = true) at
graphicsview/qgraphicsscene.cpp:4964
#4 QGraphicsScenePrivate::drawSubtreeRecursive(this = 0x582e420, this at entry =
0x582e420, item = 0x567b870, painter = 0x7fffffffaa70, painter at entry =
0x7fffffffaa70, viewTransform = 0x7fffffffab20, viewTransform at entry =
0x7fffffffab20, exposedRegion = 0x56d09a8, exposedRegion at entry = 0x56d09a8,
widget = 0x42fa040, widget at entry = 0x42fa040, parentOpacity = 1,
parentOpacity at entry = 1, effectTransform = 0x0, effectTransform at entry = 0x0) at
graphicsview/qgraphicsscene.cpp:4857
#5 QGraphicsScenePrivate::drawItems(this = 0x582e420, painter =
0x7fffffffaa70, painter at entry = 0x7fffffffaa70, viewTransform = 0x7fffffffab20,
viewTransform at entry = 0x7fffffffab20, exposedRegion = 0x56d09a8,
exposedRegion at entry = 0x56d09a8, widget = 0x42fa040) at
graphicsview/qgraphicsscene.cpp:4739
#6 QGraphicsView::paintEvent(this = <optimised out>, event = <optimised out>)
at graphicsview/qgraphicsview.cpp:3471
#7 QWidget::event(this = 0x455c420, this at entry = 0x455c420, event =
0x7fffffffb100, event at entry = 0x7fffffffb100) at kernel/qwidget.cpp:8533
#8 QFrame::event(this = 0x455c420, e = 0x7fffffffb100) at
widgets/qframe.cpp:557
#9 QGraphicsView::viewportEvent(this = 0x455c420, event = 0x7fffffffb100) at
graphicsview/qgraphicsview.cpp:2866
#10 QCoreApplicationPrivate::sendThroughObjectEventFilters(this = 0x9ddae0,
this at entry = 0x9ddae0, receiver = 0x42fa040, receiver at entry = 0x42fa040, event
= 0x7fffffffb100, event at entry = 0x7fffffffb100) at
kernel/qcoreapplication.cpp:1063
#11 QApplicationPrivate::notify_helper(this = 0x9ddae0, this at entry = 0x9ddae0,
receiver = 0x42fa040, receiver at entry = 0x42fa040, e = 0x7fffffffb100, e at entry =
0x7fffffffb100) at kernel/qapplication.cpp:4563
#12 QApplication::notify(this = 0x7fffffffdd60, this at entry = 0x7fffffffdd60,
receiver = 0x42fa040, receiver at entry = 0x42fa040, e = 0x7fffffffb100, e at entry =
0x7fffffffb100) at kernel/qapplication.cpp:4353
#13 KApplication::notify(this = 0x7fffffffdd60, receiver = 0x42fa040, event =
0x7fffffffb100) at ../../kdeui/kernel/kapplication.cpp:311
#14 QCoreApplication::notifyInternal(this = 0x7fffffffdd60, receiver =
0x42fa040, receiver at entry = 0x42fa040, event = 0x7fffffffb100, event at entry =
0x7fffffffb100) at kernel/qcoreapplication.cpp:953
#15 sendSpontaneousEvent(event = 0x7fffffffb100, receiver = 0x42fa040) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#16 QWidgetPrivate::drawWidget(this = 0x582de10, this at entry = 0x582de10, pdev
= 0x1015120, rgn = , offset = , flags = 4, sharedPainter = 0x0,
sharedPainter at entry = 0x0, backingStore = 0xca5090, backingStore at entry =
0xca5090) at kernel/qwidget.cpp:5599
#17 QWidgetBackingStore::sync(this = 0xca5090) at
painting/qbackingstore.cpp:1365
#18 QWidgetPrivate::syncBackingStore(this = 0xca01a0, this at entry = 0xca01a0)
at kernel/qwidget.cpp:1894
#19 QWidget::event(this = 0xc9fd90, this at entry = 0xc9fd90, event = 0x43d75e0,
event at entry = 0x43d75e0) at kernel/qwidget.cpp:8680
#20 QMainWindow::event(this = 0xc9fd90, this at entry = 0xc9fd90, event =
0x43d75e0, event at entry = 0x43d75e0) at widgets/qmainwindow.cpp:1478
#21 KMainWindow::event(this = 0xc9fd90, this at entry = 0xc9fd90, ev = 0x43d75e0,
ev at entry = 0x43d75e0) at ../../kdeui/widgets/kmainwindow.cpp:1084
#22 KXmlGuiWindow::event(this = 0xc9fd90, ev = 0x43d75e0) at
../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#23 QApplicationPrivate::notify_helper(this = 0x9ddae0, this at entry = 0x9ddae0,
receiver = 0xc9fd90, receiver at entry = 0xc9fd90, e = 0x43d75e0, e at entry =
0x43d75e0) at kernel/qapplication.cpp:4567
#24 QApplication::notify(this = 0x7fffffffdd60, this at entry = 0x7fffffffdd60,
receiver = 0xc9fd90, receiver at entry = 0xc9fd90, e = 0x43d75e0, e at entry =
0x43d75e0) at kernel/qapplication.cpp:4353
#25 KApplication::notify(this = 0x7fffffffdd60, receiver = 0xc9fd90, event =
0x43d75e0) at ../../kdeui/kernel/kapplication.cpp:311
/**
* Return the number of displayed members of the given ObjectType.
* Takes into consideration m_showPublicOnly but not other settings.
*/
int ClassifierWidget::displayedMembers(UMLObject::ObjectType ot) const
{
int count = 0;
UMLClassifier *classifier = this->classifier();
if (!classifier)
return count;
UMLClassifierListItemList list = classifier->getFilteredList(ot);
foreach (UMLClassifierListItem *m, list) {
if (!(visualProperty(ShowPublicOnly) && m->visibility() !=
Uml::Visibility::Public))
count++;
}
return count;
}
Reproducible: Always
Steps to Reproduce:
Get the above model to disk.
1. Open umbrello
2. Open the model
3. WAIT - let the model open each diagram.
Actual Results:
SEGV
Expected Results:
All diagrams opened and the program waits for input.
To be attached.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the umbrello-devel
mailing list