[kmymoney4] [Bug 383160] Crash on showing investment price chart

2017-08-05 Thread Ralf Habacker
https://bugs.kde.org/show_bug.cgi?id=383160

Ralf Habacker  changed:

   What|Removed |Added

  Latest Commit||https://commits.kde.org/kmy
   ||money/751e731ac783224e2b8d5
   ||5d734aa0c203f41ded9
 Status|UNCONFIRMED |RESOLVED
   Version Fixed In||4.8.1
 Resolution|--- |FIXED

--- Comment #2 from Ralf Habacker  ---
Git commit 751e731ac783224e2b8d55d734aa0c203f41ded9 by Ralf Habacker.
Committed on 05/08/2017 at 08:57.
Pushed by habacker into branch '4.8'.

Fix crash accessing wrong data array on investment price graph

The crash happened because position.column is not used to check
the requested data array instead it checks always the first data
array which fails later in case position.row exceeds array
size.

This commit needs to be posted to the KDChart bug tracker too to be
included in further KDChart releases.

FIXED-IN:4.8.1

M  +1-1   
libkdchart/src/KDChart/Cartesian/KDChartCartesianDiagramDataCompressor_p.cpp

https://commits.kde.org/kmymoney/751e731ac783224e2b8d55d734aa0c203f41ded9

-- 
You are receiving this mail because:
You are the assignee for the bug.

[kmymoney4] [Bug 383160] Crash on showing investment price chart

2017-08-05 Thread Ralf Habacker
https://bugs.kde.org/show_bug.cgi?id=383160

Ralf Habacker  changed:

   What|Removed |Added

   Severity|normal  |crash
Summary|Crash on showing investment |Crash on showing investment
   |price report|price chart

--- Comment #1 from Ralf Habacker  ---
Stacktrace: 

Application: KMyMoney (kmymoney), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9e93c39900 (LWP 25110))]

Thread 2 (Thread 0x7f9e745b1700 (LWP 25118)):
#0  0x7f9e8af58468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
/lib64/libpthread.so.0
#1  0x7f9e8edc1134 in QWaitCondition::wait(QMutex*, unsigned long)
(time=3, this=0x3249a10) at thread/qwaitcondition_unix.cpp:84
#2  0x7f9e8edc1134 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x3caff00, mutex=mutex@entry=0x3c49a48, time=3) at
thread/qwaitcondition_unix.cpp:158
#3  0x7f9e8edb4b9a in QThreadPoolThread::run() (this=0x3cafef0) at
concurrent/qthreadpool.cpp:142
#4  0x7f9e8edc0c6f in QThreadPrivate::start(void*) (arg=0x3cafef0) at
thread/qthread_unix.cpp:352
#5  0x7f9e8af53744 in start_thread () at /lib64/libpthread.so.0
#6  0x7f9e8df6baad in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9e93c39900 (LWP 25110)):
[KCrash Handler]
#6  0x7f9e8deb68d7 in raise () at /lib64/libc.so.6
#7  0x7f9e8deb7caa in abort () at /lib64/libc.so.6
#8  0x7f9e8edb6694 in qt_message_output(QtMsgType, char const*)
(msgType=msgType@entry=QtFatalMsg, buf=) at
global/qglobal.cpp:2423
#9  0x7f9e8edb6819 in qt_message(QtMsgType, const char *, typedef
__va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg,
msg=msg@entry=0x7f9e8ef239a0 "ASSERT failure in %s: \"%s\", file %s, line %d",
ap=ap@entry=0x7ffc94c524a8) at global/qglobal.cpp:2469
#10 0x7f9e8edb7024 in qFatal(char const*, ...)
(msg=msg@entry=0x7f9e8ef239a0 "ASSERT failure in %s: \"%s\", file %s, line %d")
at global/qglobal.cpp:2652
#11 0x7f9e8edb708e in qt_assert_x(char const*, char const*, char const*,
int) (where=where@entry=0x7f9e93615fc1 "QVector::operator[]",
what=what@entry=0x7f9e93615fae "index out of range",
file=file@entry=0x7f9e93614ca0 "/usr/include/QtCore/qvector.h",
line=line@entry=359) at global/qglobal.cpp:2126
#12 0x7f9e935d8077 in
QVector::operator[](int)
(this=0xbdbff78, i=i@entry=105) at /usr/include/QtCore/qvector.h:359
#13 0x7f9e935d4613 in
KDChart::CartesianDiagramDataCompressor::invalidate(KDChart::CartesianDiagramDataCompressor::CachePosition
const&) (this=this@entry=0x7357058, position=...) at
/home/ralf/src/kmymoney-4.8/libkdchart/src/KDChart/Cartesian/KDChartCartesianDiagramDataCompressor_p.cpp:606
#14 0x7f9e935d47fc in
KDChart::CartesianDiagramDataCompressor::slotModelDataChanged(QModelIndex
const&, QModelIndex const&) (this=0x7357058, topLeftIndex=...,
bottomRightIndex=...) at
/home/ralf/src/kmymoney-4.8/libkdchart/src/KDChart/Cartesian/KDChartCartesianDiagramDataCompressor_p.cpp:257
#15 0x7f9e8eed62da in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x74ac0f0, m=m@entry=0x7f9e8f2266a0
,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc94c527a0)
at kernel/qobject.cpp:3576
#16 0x7f9e8ef20497 in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&) (this=this@entry=0x74ac0f0, _t1=..., _t2=...) at
.moc/release-shared/moc_qabstractitemmodel.cpp:163
#17 0x7f9e93593237 in KDChart::AttributesModel::slotDataChanged(QModelIndex
const&, QModelIndex const&) (this=0x74ac0f0, topLeft=..., bottomRight=...) at
/home/ralf/src/kmymoney-4.8/libkdchart/src/KDChart/KDChartAttributesModel.cpp:691
#18 0x7f9e8eed62da in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x7350890, m=m@entry=0x7f9e8f2266a0
,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc94c52940)
at kernel/qobject.cpp:3576
#19 0x7f9e8ef20497 in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&) (this=this@entry=0x7350890, _t1=..., _t2=...) at
.moc/release-shared/moc_qabstractitemmodel.cpp:163
#20 0x7f9e8fe4e540 in
QStandardItemModelPrivate::itemChanged(QStandardItem*) (this=,
item=item@entry=0xbdbfc20) at itemviews/qstandarditemmodel.cpp:501
#21 0x7f9e8fe4efdd in QStandardItem::setData(QVariant const&, int)
(this=0xbdbfc20, value=..., role=) at
itemviews/qstandarditemmodel.cpp:829
#22 0x7f9e8fe51b70 in QStandardItemModel::setData(QModelIndex const&,
QVariant const&, int) (this=this@entry=0x7350890, index=..., value=...,
role=role@entry=0) at itemviews/qstandarditemmodel.cpp:2824
#23 0x00579cf7 in reports::KReportChartView::setDataCell(int, int,
double) (this=this@entry=0x7350850, row=row@entry=105,