Bug 290413

Summary: KMyMoney crashes on transaction report by payee
Product: [Applications] kmymoney Reporter: Stew Schneider <stew.schneider>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash CC: asoliverez, stew.schneider
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Stew Schneider 2012-01-02 15:53:46 UTC
Application: kmymoney (4.5.0)
KDE Platform Version: 4.5.5 (KDE 4.5.5)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-31-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
I selected Reports|Transactions|Transactions by Payee. I requested a report by last year. I was presented with a list of payees. I chose "None". No checkmarks disappeared. I began manually unchecking, became weary of that, and requested the report. KMyMoney crashed. Repeat, rinse and crash

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
[Current thread is 1 (Thread 0xb777f710 (LWP 12979))]

Thread 2 (Thread 0xb7514b70 (LWP 12980)):
#0  0x00480416 in __kernel_vsyscall ()
#1  0x071f7df6 in __poll (fds=0x728eff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x01573a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x0156643c in ?? () from /lib/libglib-2.0.so.0
#4  0x01566ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0x019299c4 in ?? () from /usr/lib/libgio-2.0.so.0
#6  0x0158d48f in ?? () from /lib/libglib-2.0.so.0
#7  0x00cdacc9 in start_thread (arg=0xb7514b70) at pthread_create.c:304
#8  0x0720669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb777f710 (LWP 12979)):
[KCrash Handler]
#7  0x003dd704 in MyMoneyObjectContainer::account (this=0xa5d22b8, id=...) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyobjectcontainer.cpp:120
#8  0x0039a72a in MyMoneyFile::account (this=0x40a54c, id=...) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyfile.cpp:362
#9  0x081d9137 in reports::QueryTable::constructTransactionTable (this=0xbf172a8) at /build/buildd/kmymoney-4.5/kmymoney/reports/querytable.cpp:498
#10 0x081e9143 in reports::QueryTable::init (this=0xbf172a8) at /build/buildd/kmymoney-4.5/kmymoney/reports/querytable.cpp:272
#11 0x081ea169 in reports::QueryTable::QueryTable (this=0xbf172a8, _report=...) at /build/buildd/kmymoney-4.5/kmymoney/reports/querytable.cpp:250
#12 0x08123ad5 in KReportsView::KReportTab::updateReport (this=0xbbfd610) at /build/buildd/kmymoney-4.5/kmymoney/views/kreportsview.cpp:182
#13 0x081300ef in KReportsView::loadView (this=0xaad3fe8) at /build/buildd/kmymoney-4.5/kmymoney/views/kreportsview.cpp:547
#14 0x08130a10 in KReportsView::slotLoadView (this=0xaad3fe8) at /build/buildd/kmymoney-4.5/kmymoney/views/kreportsview.cpp:363
#15 0x08130afd in KReportsView::qt_metacall (this=0xaad3fe8, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfb75e8c) at /build/buildd/kmymoney-4.5/obj-i686-linux-gnu/kmymoney/views/kreportsview.moc:112
#16 0x097ff8ca in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#17 0x098126ad in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#18 0x0039a627 in MyMoneyFile::dataChanged (this=0x40a54c) at /build/buildd/kmymoney-4.5/obj-i686-linux-gnu/kmymoney/mymoney/mymoneyfile.moc:83
#19 0x0039e83b in MyMoneyFile::commitTransaction (this=0x40a54c) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyfile.cpp:160
#20 0x0039e87d in MyMoneyFileTransaction::commit (this=0xbfb7620e) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyfile.cpp:2408
#21 0x081264ce in KReportsView::slotConfigure (this=0xaad3fe8) at /build/buildd/kmymoney-4.5/kmymoney/views/kreportsview.cpp:763
#22 0x08130b46 in KReportsView::qt_metacall (this=0xaad3fe8, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfb76358) at /build/buildd/kmymoney-4.5/obj-i686-linux-gnu/kmymoney/views/kreportsview.moc:116
#23 0x097ff8ca in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#24 0x098126ad in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#25 0x0309e019 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#26 0x02d5dff9 in ?? () from /usr/lib/libQtGui.so.4
#27 0x02d5f6f4 in ?? () from /usr/lib/libQtGui.so.4
#28 0x02d5f9ae in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#29 0x0298de08 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#30 0x02d5de9e in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#31 0x02e0bc22 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#32 0x0292ffdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#33 0x02936c2e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#34 0x008efd8a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#35 0x097f9b3b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#36 0x02935094 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#37 0x029c3d10 in ?? () from /usr/lib/libQtGui.so.4
#38 0x029c3151 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#39 0x029f236a in ?? () from /usr/lib/libQtGui.so.4
#40 0x01562855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#41 0x01566668 in ?? () from /lib/libglib-2.0.so.0
#42 0x01566848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#43 0x09828565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#44 0x029f1be5 in ?? () from /usr/lib/libQtGui.so.4
#45 0x097f8609 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0x097f8a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#47 0x097fd00f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#48 0x0292ee07 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#49 0x08086107 in main (argc=1, argv=0xbfb77744) at /build/buildd/kmymoney-4.5/kmymoney/main.cpp:260

Possible duplicates by query: bug 262163.

Reported using DrKonqi
Comment 1 Stew Schneider 2012-01-02 15:57:55 UTC
Repeated without selecting Payees. KMyMoney crashed again. I'm guessing that it may have to do with the date, which was the only selection I made. I'm doing this on January 2 and asking for a report from last year
Comment 2 Thomas Baumgart 2012-01-02 16:59:11 UTC
Is it really 4.5.0 that you're using? You should consider to upgrade to something more recent (4.6.1 being the latest stable).

Try to run "Tools/Consistency Check" after opening the file and see if that
solves the issue. Please report back.

BTW: I can run the report here w/o any problems, so I don't think it is related to the date.
Comment 3 Stew Schneider 2012-01-02 20:33:29 UTC
"Help" says I am running 4.5-2. I've purged it twice and reinstalled, to no great effect. Consistency check indicates that the data is consistent (It was generated by Gnucash). None of the Transaction reports will run. Taking your advice, I picked up the tarball of 4.6.1, but it simply won't make. It is currently looking for FindLibAlkimia.cmake. I've googled a bit, and have no idea what that is. I REALLY need this to work. I have taxes to prepare. Very grateful for any help.
Comment 4 Stew Schneider 2012-01-02 20:47:54 UTC
Thinking that it might be related to running KMyMoney in a GNome session, I logged out and began a KDE session. No change. I'd be happy to install v 4.6 if I could find a way to do so. I just won't make.
Comment 5 Thomas Baumgart 2012-01-02 20:50:12 UTC
Libalkimia is a library we also provide. See
http://techbase.kde.org/Projects/KdeFinance/Alkimia for more information and
http://kde-apps.org/content/show.php/libalkimia?content=137323 for a tar-ball.
Be prepared to require libgmp on your system to build libalkimia. If you have
further problems, please let us know.
Comment 6 Stew Schneider 2012-01-02 22:32:38 UTC
Thank you, Thomas. Now, could I inconvenience you a bit to tell me what to do with the libalkimia library? I have retrieved the source, but I don't see a make file. I exported the location of FindLibAlkimia.cmake as a Variable (export CMAKE_MODULE_PATH="/home/stewart/kmymoney-4.6.1/build")but we seem to not be getting anywhere -- same error.

Again, many thanks in advance.
Comment 7 Cristian OneČ› 2012-01-06 10:28:44 UTC
(In reply to comment #6)
> Thank you, Thomas. Now, could I inconvenience you a bit to tell me what to do
> with the libalkimia library? I have retrieved the source, but I don't see a
> make file. I exported the location of FindLibAlkimia.cmake as a Variable
> (export CMAKE_MODULE_PATH="/home/stewart/kmymoney-4.6.1/build")but we seem to
> not be getting anywhere -- same error.
> 
> Again, many thanks in advance.

Build and install libalkimia the same way that you would build kmymoney.
$mkdir libalkimia-build
$cd libalkimia-build
$cmake ../libalkimia <- (replace with relative path to libalkimia)
$make install
Comment 8 Stew Schneider 2012-01-07 01:46:53 UTC
Great! We made real progress. Kmymoney build. I ran it from a terminal, and got the following:

 ./kmymoney
QPainter::begin: Paint device returned engine == 0, type: 2
kmymoney(1651) KXMLGUIClient::setXMLFile: cannot find .rc file "kmymoneyui.rc" for component "kmymoney" 
kmymoney(1651)/kdecore (trader) KServiceTypeTrader::defaultOffers: KServiceTypeTrader: serviceType  "KMyMoneyPlugin"  not found 

Following these reports, the program ran, and produced the reports that we had been seeking. Are the errors of any concern?
Comment 9 Thomas Baumgart 2012-01-07 09:43:09 UTC
Did you install it correctly? It says, that it does not find the kmymoneyui.rc file which contains the description of the menu structure.
Comment 10 Alvaro Soliverez 2012-04-28 21:20:01 UTC
The relevant bug has already been fixed in 4.5.1 and later. If you need further info on how to upgrade, please check http://kmymoney.org for all the ways you can get support from us.