Bug 310265

Summary: KMyMoney crashes on Report
Product: [Applications] kmymoney Reporter: Schiwi <mschiwi>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash CC: onet.cristian
Priority: NOR    
Version: 4.6.1   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: anonymous file

Description Schiwi 2012-11-17 21:58:18 UTC
Application: kmymoney (4.6.1)
KDE Platform Version: 4.9.3
Qt Version: 4.8.2
Operating System: Linux 3.2.0-32-generic x86_64
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I just choosed the Report "Income and Expenses By Year" and then it crashed. It also happens when i choose "Net Woth By Year"

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fbc17e7c780 (LWP 7460))]

Thread 3 (Thread 0x7fbbff7e3700 (LWP 7461)):
#0  0x00007fbc12554303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fbc0dbba036 in g_main_context_poll (n_fds=1, fds=0x7fbbf8002bb0, timeout=-1, context=0x7fbbf80009a0, priority=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3440
#2  g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x7fbbf80009a0, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3141
#3  g_main_context_iterate (context=0x7fbbf80009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3083
#4  0x00007fbc0dbba164 in g_main_context_iteration (context=0x7fbbf80009a0, may_block=1) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3207
#5  0x00007fbc14133906 in QEventDispatcherGlib::processEvents (this=0x7fbbf80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fbc14102e42 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fbc14103097 in QEventLoop::exec (this=0x7fbbff7e2dd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fbc14002057 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007fbc140e2b4f in QInotifyFileSystemWatcherEngine::run (this=0x2daf1e0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fbc1400507b in QThreadPrivate::start (arg=0x2daf1e0) at thread/qthread_unix.cpp:307
#11 0x00007fbc15274e9a in start_thread (arg=0x7fbbff7e3700) at pthread_create.c:308
#12 0x00007fbc1255fcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fbbf4f98700 (LWP 7495)):
#0  g_mutex_get_impl (mutex=0x7fbbe80009a0) at /build/buildd/glib2.0-2.32.3/./glib/gthread-posix.c:118
#1  0x00007fbc0dbf55c9 in g_mutex_unlock (mutex=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gthread-posix.c:227
#2  0x00007fbc0dbb9b3d in g_main_context_check (context=0x7fbbe80009a0, max_priority=2147483647, fds=<optimized out>, n_fds=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3021
#3  0x00007fbc0dbb9fd6 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x7fbbe80009a0, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3143
#4  g_main_context_iterate (context=0x7fbbe80009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3083
#5  0x00007fbc0dbba164 in g_main_context_iteration (context=0x7fbbe80009a0, may_block=1) at /build/buildd/glib2.0-2.32.3/./glib/gmain.c:3207
#6  0x00007fbc14133906 in QEventDispatcherGlib::processEvents (this=0x7fbbe80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x00007fbc14102e42 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007fbc14103097 in QEventLoop::exec (this=0x7fbbf4f97dd0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007fbc14002057 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x00007fbc140e2b4f in QInotifyFileSystemWatcherEngine::run (this=0x5dd8e20) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x00007fbc1400507b in QThreadPrivate::start (arg=0x5dd8e20) at thread/qthread_unix.cpp:307
#12 0x00007fbc15274e9a in start_thread (arg=0x7fbbf4f98700) at pthread_create.c:308
#13 0x00007fbc1255fcbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fbc17e7c780 (LWP 7460)):
[KCrash Handler]
#6  0x00007fbc124a2425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007fbc124a5b8b in __GI_abort () at abort.c:91
#8  0x00007fbc12df469d in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#9  0x00007fbc12df2846 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:40
#10 0x00007fbc12df2873 in std::terminate () at ../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:50
#11 0x00007fbc12df29b6 in __cxxabiv1::__cxa_rethrow () at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:116
#12 0x00007fbc1410332c in QEventLoop::exec (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:218
#13 0x00007fbc141083e7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#14 0x0000000000457dcd in runKMyMoney (splash=<optimized out>, a=<optimized out>) at /build/buildd/kmymoney-4.6.1/kmymoney/main.cpp:282
#15 0x00000000004564f3 in main (argc=1, argv=0x7fff05e892b8) at /build/buildd/kmymoney-4.6.1/kmymoney/main.cpp:181

Possible duplicates by query: bug 308801, bug 306434, bug 306218, bug 305584, bug 302555.

Reported using DrKonqi
Comment 1 Cristian Oneț 2012-11-22 17:56:03 UTC
Could you produce an anonymous file with which to reproduce this (see http://kmymoney2.sourceforge.net/kde4/online-manual/details.formats.anonymous.html)?
You could also try the latest stable version 4.6.3.

Other than that we can't do more with the provided backtrace.
Comment 2 Schiwi 2012-11-22 20:50:46 UTC
Ok, now i updated to 4.6.3 and unfortunately  its still the same. 
Here is the anonymous file
Comment 3 Schiwi 2012-11-22 20:53:26 UTC
Created attachment 75416 [details]
anonymous file

anonymous file
Comment 4 Cristian Oneț 2012-11-24 17:14:14 UTC
I can confirm the problem using the anonymous file. Thanks for the help.
Comment 5 Cristian Oneț 2012-11-25 13:58:56 UTC
Until you get the update you can fix your file by manually editing it ad replacing all occurrences of postdate="" with postdate="YYYY-MM-DD" where YYYY,MM,DD are the proper values for the year, month and day.
Comment 6 Cristian Oneț 2012-11-25 13:59:39 UTC
Git commit 7465f1bf1e11dd615aeb2a3ae8de04be44ac5713 by Cristian Oneț.
Committed on 25/11/2012 at 14:47.
Pushed by conet into branch 'master'.

Make sure that all transactions have a valid post date when
a consistency check is run.

Also make sure that MyMoneyReport::validDateRange returns a valid
date range no matter what data is in the file. This avoids having
a run-away kmymoney process when opening reports.

M  +11   -0    kmymoney/mymoney/mymoneyfile.cpp
M  +10   -2    kmymoney/mymoney/mymoneyreport.cpp

http://commits.kde.org/kmymoney/7465f1bf1e11dd615aeb2a3ae8de04be44ac5713
Comment 7 Cristian Oneț 2012-11-25 14:00:12 UTC
Git commit 7f6279ce15de7be11362de28ff3d76be9643a515 by Cristian Oneț.
Committed on 25/11/2012 at 14:47.
Pushed by conet into branch '4.6'.

Make sure that all transactions have a valid post date when
a consistency check is run.

Also make sure that MyMoneyReport::validDateRange returns a valid
date range no matter what data is in the file. This avoids having
a run-away kmymoney process when opening reports.
(cherry picked from commit 7465f1bf1e11dd615aeb2a3ae8de04be44ac5713)

M  +11   -0    kmymoney/mymoney/mymoneyfile.cpp
M  +10   -2    kmymoney/mymoney/mymoneyreport.cpp

http://commits.kde.org/kmymoney/7f6279ce15de7be11362de28ff3d76be9643a515
Comment 8 Schiwi 2012-11-25 14:50:36 UTC
Great, thank you :)