Bug 256945 - KmyMoney keeps "Checking for overdue scheduled transactions"
Summary: KmyMoney keeps "Checking for overdue scheduled transactions"
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
: 266123 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-11-15 01:29 UTC by highnoon52
Modified: 2012-05-19 21:28 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description highnoon52 2010-11-15 01:29:30 UTC
Application: kmymoney (4.5.0)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
Started KmyMoney, it starts, then just keeps "Checking for overdue scheduled transactions...". Ledger is greyed out and won't continue to load.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Aborted
[Current thread is 1 (Thread 0xb774a710 (LWP 2086))]

Thread 3 (Thread 0xb74f4b70 (LWP 2087)):
#0  0x002057d4 in __pthread_mutex_unlock_usercnt () from /lib/libpthread.so.0
#1  0x02350701 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#2  0x02354668 in ?? () from /lib/libglib-2.0.so.0
#3  0x02354ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#4  0x027546b4 in ?? () from /usr/lib/libgio-2.0.so.0
#5  0x0237b48f in ?? () from /lib/libglib-2.0.so.0
#6  0x00201cc9 in start_thread () from /lib/libpthread.so.0
#7  0x0671e6ae in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb1f47b70 (LWP 2088)):
#0  0x039f0e36 in clock_gettime () from /lib/librt.so.1
#1  0x03e8050b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x03f576e5 in QTimerInfoList::updateCurrentTime (this=0x9ed2acc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x03f5772a in QTimerInfoList::timerWait (this=0x9ed2acc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x03f557a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb1f470bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x03f5583d in timerSourcePrepare (source=0x0, timeout=0x39f4ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x02353e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x02354279 in ?? () from /lib/libglib-2.0.so.0
#9  0x02354848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x03f5559f in QEventDispatcherGlib::processEvents (this=0x9ecfdb8, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x03f25609 in QEventLoop::processEvents (this=0xb1f47290, flags=) at kernel/qeventloop.cpp:149
#12 0x03f25a8a in QEventLoop::exec (this=0xb1f47290, flags=...) at kernel/qeventloop.cpp:201
#13 0x03e21b7e in QThread::exec (this=0x9f92a38) at thread/qthread.cpp:490
#14 0x03f0435b in QInotifyFileSystemWatcherEngine::run (this=0x9f92a38) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x03e24df9 in QThreadPrivate::start (arg=0x9f92a38) at thread/qthread_unix.cpp:266
#16 0x00201cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0671e6ae in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb774a710 (LWP 2086)):
[KCrash Handler]
#7  0x006de416 in __kernel_vsyscall ()
#8  0x06678941 in raise () from /lib/libc.so.6
#9  0x0667be42 in abort () from /lib/libc.so.6
#10 0x066718e8 in __assert_fail () from /lib/libc.so.6
#11 0x0359dc99 in _XAllocID () from /usr/lib/libX11.so.6
#12 0x03572a03 in XCreateGC () from /usr/lib/libX11.so.6
#13 0x019b11eb in QX11PaintEngine::begin (this=0xa667c58, pdev=0xbfc4a330) at painting/qpaintengine_x11.cpp:506
#14 0x018e1129 in QPainter::begin (this=0xbfc49fc4, pd=0xbfc4a330) at painting/qpainter.cpp:1866
#15 0x018e18f8 in QPainter::QPainter (this=0xbfc49fc4, pd=0xbfc4a330) at painting/qpainter.cpp:1491
#16 0x0017db06 in MyMoneyAccount::accountPixmap (this=0xa543e10, reconcileFlag=false, size=0) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyaccount.cpp:680
#17 0x08496596 in AccountsModel::Private::setAccountData(QStandardItemModel*, QModelIndex const&, MyMoneyAccount const&) ()
#18 0x0849106d in AccountsModel::load (this=0x9d02090) at /build/buildd/kmymoney-4.5/kmymoney/models/accountsmodel.cpp:552
#19 0x0849a5c5 in Models::dataChanged (this=0x86e1514) at /build/buildd/kmymoney-4.5/kmymoney/models/models.cpp:68
#20 0x0849a871 in Models::qt_metacall (this=0x86e1514, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfc4ac0c) at /build/buildd/kmymoney-4.5/obj-i686-linux-gnu/kmymoney/models/moc_models.cpp:73
#21 0x03f2c8ca in QMetaObject::metacall (object=0x86e1514, cl=2086, idx=4, argv=0xbfc4ac0c) at kernel/qmetaobject.cpp:237
#22 0x03f3f6ad in QMetaObject::activate (sender=0x1c954c, m=0x1c8bec, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3280
#23 0x00159627 in MyMoneyFile::dataChanged (this=0x1c954c) at /build/buildd/kmymoney-4.5/obj-i686-linux-gnu/kmymoney/mymoney/mymoneyfile.moc:83
#24 0x0015d83b in MyMoneyFile::commitTransaction (this=0x1c954c) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyfile.cpp:160
#25 0x0015d87d in MyMoneyFileTransaction::commit (this=0xbfc4b12e) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyfile.cpp:2408
#26 0x080ce58f in KMyMoneyApp::enterSchedule (this=0x9b7c3d0, schedule=..., autoEnter=true, extendedKeys=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:4452
#27 0x080cf3e8 in KMyMoneyApp::slotCheckSchedules (this=0x9b7c3d0) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:6438
#28 0x080d0ce9 in KMyMoneyApp::slotFileOpenRecent (this=0x9b7c3d0, url=...) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:1513
#29 0x080870e5 in main (argc=1, argv=0xbfc4b934) at /build/buildd/kmymoney-4.5/kmymoney/main.cpp:247

Reported using DrKonqi
Comment 1 Alvaro Soliverez 2010-11-15 02:52:29 UTC
Depending on the amount of overdue schedules, the application can take a long time. Let it finish.
Comment 2 Thomas Baumgart 2010-12-12 14:37:08 UTC
Can you create an anonymous version of your file and check that the problem shows up using it? See http://kmymoney2.sourceforge.net/kde4/online-manual/details.formats.anonymous.html for details on how to create that file.
Comment 3 Cristian Oneț 2011-05-06 16:08:00 UTC
*** Bug 266123 has been marked as a duplicate of this bug. ***
Comment 4 Cristian Oneț 2011-05-21 22:16:06 UTC
Could you try to open this file with the newest version of kmymoney?
Comment 5 Thomas Baumgart 2011-05-27 17:15:40 UTC
Any news on this? If not, I will close the entry.
Comment 6 Rob V 2012-05-15 19:57:06 UTC
I can report that KMyMoney is still exhibiting this bug occasionally. When starting KMyMoney the Home screen is greyed out (and never loads), the message of the day displays, but does not respond to mouse clicks, and the status bar in the bottom right states KMyMoney is checking for overdue scheduled transactions. This has been left running for about 20 minutes with no change, so I don't think it's taking a while considering I only have maybe a dozen scheduled transactions. Rather than a crash of any description, this looks like an infinite loop.

Unfortunately, I can't make an anonymised version of my data as KMyMoney enters the infinite loop as soon as it opens. Is there a way to generate an anonymised file from the command line?

Terminal output:

rob@hydrogen:~$ kmymoney
KMyMoney reconciliation report plugin loaded
KMyMoney printcheck plugin loaded
QFSFileEngine::open: No file name specified
KMyMoney iCalendar plugin loaded
reading file
start parsing file
startDocument
reading accounts
reading transactions
reading securities
reading currencies
reading prices
reading reports
endDocument
Killed
rob@hydrogen:~$ 

Backtrace during the infinite loop:

(gdb) thread apply all backtrace

Thread 2 (Thread 0x7f3c9a874700 (LWP 3855)):
#0  0x00007f3cac91a473 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f3ca8093f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3ca8094429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3cae475ed6 in QEventDispatcherGlib::processEvents (this=0x1f49f50, flags=<optimized out>)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f3cae449cf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f3cae449ef7 in QEventLoop::exec (this=0x7f3c9a873dd0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f3cae36127f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007f3cae42ccbf in QInotifyFileSystemWatcherEngine::run (this=0x1f49480) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f3cae363d05 in QThreadPrivate::start (arg=0x1f49480) at thread/qthread_unix.cpp:331
#9  0x00007f3caf58defc in start_thread (arg=0x7f3c9a874700) at pthread_create.c:304
#10 0x00007f3cac92659d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f3cb1f63780 (LWP 3854)):
#0  0x00007f3cae44dfea in QCoreApplication::removePostedEvents (receiver=0x8ae2500, eventType=0) at kernel/qcoreapplication.cpp:1525
#1  0x00007f3cad5cd132 in QWidget::~QWidget (this=0x8ae2500, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1653
#2  0x00007f3cad9f6319 in QToolButton::~QToolButton (this=0x8ae2500, __in_chrg=<optimized out>) at widgets/qtoolbutton.cpp:412
#3  0x00007f3cae45cd75 in QObjectPrivate::deleteChildren (this=0x869bb00) at kernel/qobject.cpp:1955
#4  0x00007f3cad5cd12a in QWidget::~QWidget (this=0x86a9950, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1651
#5  0x00007f3cb063d8d9 in KDatePicker::~KDatePicker (this=0x86a9950, __in_chrg=<optimized out>)
    at ../../kdeui/widgets/kdatepicker.cpp:334
#6  0x00007f3cae45cd75 in QObjectPrivate::deleteChildren (this=0x8503360) at kernel/qobject.cpp:1955
#7  0x00007f3cad5cd12a in QWidget::~QWidget (this=0x8b70a60, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1651
#8  0x00007f3cb0698969 in KVBox::~KVBox (this=0x8b70a60, __in_chrg=<optimized out>) at ../../kdeui/widgets/kvbox.cpp:29
#9  0x00007f3caf9f5a73 in kMyMoneyDateInput::~kMyMoneyDateInput (this=0x7fff65704800, __in_chrg=<optimized out>)
    at /build/buildd/kmymoney-4.5.3/kmymoney/widgets/kmymoneydateinput.cpp:226
#10 0x00000000005c1949 in KMyMoneyTransactionForm::TransactionForm::adjustColumn (this=0x83e7410, 
    col=KMyMoneyTransactionForm::ValueColumn2) at /build/buildd/kmymoney-4.5.3/kmymoney/widgets/transactionform.cpp:401
#11 0x00000000005c1ae1 in KMyMoneyTransactionForm::TransactionForm::resize (this=0x83e7410, col=1)
    at /build/buildd/kmymoney-4.5.3/kmymoney/widgets/transactionform.cpp:378
#12 0x00000000005c1e14 in KMyMoneyTransactionForm::TransactionForm::qt_metacall (this=0x83e7410, _c=QMetaObject::InvokeMetaMethod, 
    _id=<optimized out>, _a=0x8b14e20) at /build/buildd/kmymoney-4.5.3/obj-x86_64-linux-gnu/kmymoney/widgets/transactionform.moc:208
#13 0x00007f3cae461a5e in QObject::event (this=0x83e7410, e=<optimized out>) at kernel/qobject.cpp:1217
#14 0x00007f3cad5d173b in QWidget::event (this=0x83e7410, event=0x82ecbb0) at kernel/qwidget.cpp:8754
#15 0x00007f3cad97a5b6 in QFrame::event (this=0x83e7410, e=0x82ecbb0) at widgets/qframe.cpp:557
#16 0x00007f3cad9fc2fb in QAbstractScrollArea::event (this=0x83e7410, e=0x82ecbb0) at widgets/qabstractscrollarea.cpp:996
#17 0x00007f3cada94c1b in QAbstractItemView::event (this=0x83e7410, event=0x82ecbb0) at itemviews/qabstractitemview.cpp:1564
#18 0x00007f3cad581474 in notify_helper (e=0x82ecbb0, receiver=0x83e7410, this=0x185da10) at kernel/qapplication.cpp:4486
#19 QApplicationPrivate::notify_helper (this=0x185da10, receiver=0x83e7410, e=0x82ecbb0) at kernel/qapplication.cpp:4458
#20 0x00007f3cad5862e1 in QApplication::notify (this=0x18542f0, receiver=0x83e7410, e=0x82ecbb0) at kernel/qapplication.cpp:4365
#21 0x00007f3cb05a1466 in KApplication::notify (this=0x18542f0, receiver=0x83e7410, event=0x82ecbb0)
    at ../../kdeui/kernel/kapplication.cpp:311
#22 0x00007f3cae44aafc in QCoreApplication::notifyInternal (this=0x18542f0, receiver=0x83e7410, event=0x82ecbb0)
    at kernel/qcoreapplication.cpp:787
#23 0x00007f3cae44e51f in sendEvent (event=0x82ecbb0, receiver=0x83e7410)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x182d430) at kernel/qcoreapplication.cpp:1428
#25 0x00007f3cae475a73 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#26 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#27 0x00007f3ca8093a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f3ca8094258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f3ca8094429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f3cae475ed6 in QEventDispatcherGlib::processEvents (this=0x182ef40, flags=<optimized out>)
    at kernel/qeventdispatcher_glib.cpp:422
#31 0x00007f3cad62910e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#32 0x00007f3cae44e8a9 in QCoreApplication::processEvents (flags=..., maxtime=10) at kernel/qcoreapplication.cpp:1007
#33 0x00000000006d7d14 in TransactionEditor::enterTransactions (this=0x80f74c0, newId=..., askForSchedule=false, 
    suppressBalanceWarnings=false) at /build/buildd/kmymoney-4.5.3/kmymoney/dialogs/transactioneditor.cpp:486
#34 0x0000000000487e0f in KMyMoneyApp::enterSchedule (this=0x19032d0, schedule=..., autoEnter=<optimized out>, 
    extendedKeys=<optimized out>) at /build/buildd/kmymoney-4.5.3/kmymoney/kmymoney.cpp:4444
#35 0x0000000000488e18 in KMyMoneyApp::slotCheckSchedules (this=0x19032d0)
    at /build/buildd/kmymoney-4.5.3/kmymoney/kmymoney.cpp:6442
#36 0x0000000000493bda in KMyMoneyApp::slotFileOpenRecent (this=0x19032d0, url=...)
    at /build/buildd/kmymoney-4.5.3/kmymoney/kmymoney.cpp:1514
#37 0x0000000000455146 in main (argc=1, argv=<optimized out>) at /build/buildd/kmymoney-4.5.3/kmymoney/main.cpp:247
Comment 7 Jack 2012-05-15 20:47:11 UTC
Try starting KMM from command line with "kmymoney -n" which will start without reading your data file.  Turn off all the options on the home page (Settings/Configure KMyMoney.../Home).  Then try to open your file, and run a consistency check.
Comment 8 Rob V 2012-05-16 20:01:54 UTC
Same problem occurs. As soon as I open the file KMM enters an endless loop
"Checking for overdue scheduled transactions...". I thought a consistency
check ran every time the file was saved? Seeing as I haven't edited the
file in any other application, it should be fine. Seeing as KMM becomes
unresponsive as soon as the file is loaded, I'm not sure of any other way
to force a consistency check.

rvalkass@gmail.com


On 15 May 2012 21:47, Jack <ostroffjh@users.sourceforge.net> wrote:

> https://bugs.kde.org/show_bug.cgi?id=256945
>
> --- Comment #7 from Jack <ostroffjh@users.sourceforge.net> ---
> Try starting KMM from command line with "kmymoney -n" which will start
> without
> reading your data file.  Turn off all the options on the home page
> (Settings/Configure KMyMoney.../Home).  Then try to open your file, and
> run a
> consistency check.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>
Comment 9 Jack 2012-05-16 20:20:14 UTC
Rob - this will probably have to wait for one of the developers to look at the backtrace.  However, it would help to know which version of KMM you are using - it looks like 4.5.3 from the backtrace - and that is rather old at this point.  It is possible a more recent version  (4.6.2 is latest) would avoid the problem.  Also, when did you save the file you are trying to open (i.e., was it saved with an earlier version of KMM?)  KMM does do a consistency check when it saves a file, but older versions did less checking.
Comment 10 Rob V 2012-05-16 21:02:18 UTC
It is 4.5.3 - the latest package available from my distro. I will get a
newer version of KMM up and running to see if that improves matters.

I use the file every day or two, and it has been through a few versions of
KMM over the last 3 or 4 years! This is the first time this problem has
appeared, and the file has been used with 4.5.3 plenty of times previously.


On 16 May 2012 21:20, Jack <ostroffjh@users.sourceforge.net> wrote:

> https://bugs.kde.org/show_bug.cgi?id=256945
>
> Jack <ostroffjh@users.sourceforge.net> changed:
>
>           What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                 CC|                            |ostroffjh@users.sourceforge
>                   |                            |.net
>
> --- Comment #9 from Jack <ostroffjh@users.sourceforge.net> ---
> Rob - this will probably have to wait for one of the developers to look at
> the
> backtrace.  However, it would help to know which version of KMM you are
> using -
> it looks like 4.5.3 from the backtrace - and that is rather old at this
> point.
> It is possible a more recent version  (4.6.2 is latest) would avoid the
> problem.  Also, when did you save the file you are trying to open (i.e.,
> was it
> saved with an earlier version of KMM?)  KMM does do a consistency check
> when it
> saves a file, but older versions did less checking.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>
Comment 11 Thomas Baumgart 2012-05-18 08:04:33 UTC
Rob, can you try starting KMyMoney with option -n again and then turn off the option that runs the checking of schedules at startup? It can be found by opening the settings dialog and switching to the schedules tab. Does that make a difference when you open your file?

I am pretty sure that we have fixed this problem since 4.5.3 but cannot find the trace w/o deeply looking into the log messages. And I currently don't have the time to do it.
Comment 12 Rob V 2012-05-19 21:28:35 UTC
Hi,

I've finally got around to compiling the latest version and can confirm the
problem is fixed. File opened fine, so I've no idea what KMM had done to
bork the file initially, but a newer version recovered it silently it
seems. Good job :)


On 18 May 2012 09:04, Thomas Baumgart <ipwizard@users.sourceforge.net>wrote:

> https://bugs.kde.org/show_bug.cgi?id=256945
>
> --- Comment #11 from Thomas Baumgart <ipwizard@users.sourceforge.net> ---
> Rob, can you try starting KMyMoney with option -n again and then turn off
> the
> option that runs the checking of schedules at startup? It can be found by
> opening the settings dialog and switching to the schedules tab. Does that
> make
> a difference when you open your file?
>
> I am pretty sure that we have fixed this problem since 4.5.3 but cannot
> find
> the trace w/o deeply looking into the log messages. And I currently don't
> have
> the time to do it.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
>