Bug 401133

Summary: KMyMoney crashed after finishing loan wizard
Product: [Applications] kmymoney Reporter: Martin <martin.ruessler>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED DUPLICATE    
Severity: crash CC: luigi.toscano, martin.ruessler
Priority: NOR Keywords: drkonqi
Version: 5.0.2   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
Forecast plugin settings
Forecast set-up before crash

Description Martin 2018-11-17 07:56:38 UTC
Application: kmymoney (5.0.2)

Qt Version: 5.11.2
Frameworks Version: 5.52.0
Operating System: Linux 4.18.16-arch1-1-ARCH x86_64
Distribution: "Arch Linux"

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

I was adding a new account of type loan. After following the wizard to the last (I assume) page and confirming the creation, KMyMoney crashed

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Floating point exception
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6065c22880 (LWP 1978))]

Thread 13 (Thread 0x7f60315ff700 (LWP 1993)):
#0  0x00007f60707349eb in clock_gettime () at /usr/lib/libc.so.6
#1  0x00007f6070de38f2 in  () at /usr/lib/libQt5Core.so.5
#2  0x00007f6070de20da in QTimerInfoList::updateCurrentTime() () at /usr/lib/libQt5Core.so.5
#3  0x00007f6070de26d6 in QTimerInfoList::timerWait(timespec&) () at /usr/lib/libQt5Core.so.5
#4  0x00007f6070de3d4f in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f606afe67aa in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#6  0x00007f606afe6e06 in  () at /usr/lib/libglib-2.0.so.0
#7  0x00007f606afe6fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#8  0x00007f6070de3fe4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#9  0x00007f6070d8f8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#10 0x00007f6070bd8eb9 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#11 0x00007f6070be2f65 in  () at /usr/lib/libQt5Core.so.5
#12 0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#13 0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7f60321ff700 (LWP 1991)):
#0  0x00007f607071bc21 in poll () at /usr/lib/libc.so.6
#1  0x00007f606afe6ee0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f606afe6fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f6070de3fe4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f6070d8f8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f6070bd8eb9 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f6070be2f65 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7f60437fe700 (LWP 1988)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7f6043fff700 (LWP 1987)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f6058a21700 (LWP 1986)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f6059222700 (LWP 1985)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f6059a23700 (LWP 1984)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f605a224700 (LWP 1983)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f605aa25700 (LWP 1982)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f605b5c8d0c in  () at /usr/lib/dri/radeonsi_dri.so
#2  0x00007f605b5c8a48 in  () at /usr/lib/dri/radeonsi_dri.so
#3  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f60625e5700 (LWP 1981)):
#0  0x00007f60707177a4 in read () at /usr/lib/libc.so.6
#1  0x00007f606af95781 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f606afe5a50 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f606afe6e86 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f606afe6fce in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f6070de3fe4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f6070d8f8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f6070bd8eb9 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f6071035ba6 in  () at /usr/lib/libQt5DBus.so.5
#9  0x00007f6070be2f65 in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f6063be4700 (LWP 1980)):
#0  0x00007f607071bc21 in poll () at /usr/lib/libc.so.6
#1  0x00007f6069f33630 in  () at /usr/lib/libxcb.so.1
#2  0x00007f6069f352db in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f6064d37c5a in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f6070be2f65 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f6065c1e700 (LWP 1979)):
#0  0x00007f607030dafc in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f6070a45cd1 in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:864
#2  0x00007f6070a45cd1 in std::condition_variable::wait(std::unique_lock<std::mutex>&) (this=<optimized out>, __lock=...) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/condition_variable.cc:53
#3  0x00007f606f771f14 in  () at /usr/lib/libQt5WebKit.so.5
#4  0x00007f606f772039 in  () at /usr/lib/libQt5WebKit.so.5
#5  0x00007f6070a4c063 in std::execute_native_thread_routine(void*) (__p=0x562fee19fdc0) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
#6  0x00007f6070307a9d in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f6070726b23 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f6065c22880 (LWP 1978)):
[KCrash Handler]
#6  0x00007f606c7a5097 in __gmp_exception () at /usr/lib/libgmp.so.10
#7  0x00007f606c7a52af in  () at /usr/lib/libgmp.so.10
#8  0x00007f606c7bf056 in __gmpq_div () at /usr/lib/libgmp.so.10
#9  0x00007f60724b3cc6 in AlkValue::operator/(AlkValue const&) const () at /usr/lib/libalkimia5.so.7
#10 0x00007f6072ad539d in MyMoneyMoney::operator/(MyMoneyMoney const&) const () at /usr/lib/libkmm_mymoney.so.5
#11 0x00007f6072b4fa55 in  () at /usr/lib/libkmm_mymoney.so.5
#12 0x00007f6072b511a7 in  () at /usr/lib/libkmm_mymoney.so.5
#13 0x00007f6072b4a7d0 in MyMoneyForecast::doForecast() () at /usr/lib/libkmm_mymoney.so.5
#14 0x00007f60402c08c8 in  () at /usr/lib/qt/plugins/kmymoney/reportsview.so
#15 0x00007f60402c1d1b in  () at /usr/lib/qt/plugins/kmymoney/reportsview.so
#16 0x00007f60402c2b6a in  () at /usr/lib/qt/plugins/kmymoney/reportsview.so
#17 0x00007f604026daa8 in  () at /usr/lib/qt/plugins/kmymoney/reportsview.so
#18 0x0000562fed2cbc1e in  ()
#19 0x0000562fed2d87b8 in  ()
#20 0x0000562fed2c5180 in  ()
#21 0x00007f6070dbabd0 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#22 0x00007f6072ae3289 in MyMoneyFile::commitTransaction() () at /usr/lib/libkmm_mymoney.so.5
#23 0x00007f6072ae332f in MyMoneyFileTransaction::commit() () at /usr/lib/libkmm_mymoney.so.5
#24 0x0000562fed315bbb in  ()
#25 0x0000562fed29eb96 in  ()
#26 0x00007f6070dbabd0 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#27 0x00007f6071b73613 in QAction::triggered(bool) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007f6071b75d0a in QAction::activate(QAction::ActionEvent) () at /usr/lib/libQt5Widgets.so.5
#29 0x00007f6071c65dae in  () at /usr/lib/libQt5Widgets.so.5
#30 0x00007f6071c65fe6 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#31 0x00007f6071d5557b in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#32 0x00007f6071bb9658 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#33 0x00007f6071d55624 in QToolButton::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#34 0x00007f6071b79e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#35 0x00007f6071b8192a in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#36 0x00007f6070d90c39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#37 0x00007f6071b80c11 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/libQt5Widgets.so.5
#38 0x00007f6071bd498c in  () at /usr/lib/libQt5Widgets.so.5
#39 0x00007f6071bd75d5 in  () at /usr/lib/libQt5Widgets.so.5
#40 0x00007f6071b79e14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#41 0x00007f6071b816e1 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#42 0x00007f6070d90c39 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#43 0x00007f60715aa0dc in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#44 0x00007f60715ac066 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/libQt5Gui.so.5
#45 0x00007f6071585a3c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#46 0x00007f6064dcddad in  () at /usr/lib/libQt5XcbQpa.so.5
#47 0x00007f6070d8f8cc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#48 0x00007f6070d97bc6 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#49 0x0000562fed232621 in  ()
#50 0x0000562fed23170c in  ()
#51 0x00007f607064f223 in __libc_start_main () at /usr/lib/libc.so.6
#52 0x0000562fed2322de in _start ()
[Inferior 1 (process 1978) detached]

Reported using DrKonqi
Comment 1 Thomas Baumgart 2018-11-18 14:59:48 UTC
*** Bug 401148 has been marked as a duplicate of this bug. ***
Comment 2 Thomas Baumgart 2018-11-18 22:17:19 UTC
This looks like a division by zero during forecast calculation to me. No idea how that happens. A workaround maybe to turn off the forecasting plugin for now. Is this a fresh new file or has it been used with prior versions?
Comment 3 Martin 2018-11-19 21:06:53 UTC
The oldest backup file is from 2018-09-09. I started the file a little earlier I think.
Comment 4 Thomas Baumgart 2018-11-20 07:55:47 UTC
Which forecast method is selected ("History" or "Scheduled and future transactions"? You can check this in Settings/Plugins/Forecast view. What are the other settings in that dialog? Does it make a difference to select the other method?
Comment 5 Martin 2018-11-24 14:24:07 UTC
The file crashes KMyMoney immediately, so I can’t answer your question. The last thing I did was the aforementioned account creation. I have restored an earlier backed up version of the file and will try to crash the program with forecasting.
Comment 6 Thomas Baumgart 2018-11-24 14:54:45 UTC
The method is not stored with the file but with your KMyMoney installation. You can always start KMyMoney without opening a file by appending the "-n" option on the command line. Also, you should be able to modify the settings this way.

Keep the crashing file around. Apparently the only instance where this is failing.
Comment 7 Martin 2018-12-05 22:20:37 UTC
Created attachment 116698 [details]
New crash information added by DrKonqi

kmymoney (5.0.2) using Qt 5.11.2

- What I was doing when the application crashed:

Here is the additional information you asked me for:
I have two additional screenshots. When I select the chart tab and click on forecast the program crashes. I tested three times.

-- Backtrace (Reduced):
#6  0x00007f2d1838c4cb in  () at /usr/lib/qt/plugins/kmymoney/forecastview.so
#7  0x00007f2d18386d95 in  () at /usr/lib/qt/plugins/kmymoney/forecastview.so
[...]
#9  0x00007f2d34840e4f in QTabWidget::currentChanged(int) () at /usr/lib/libQt5Widgets.so.5
#10 0x00007f2d3484341f in  () at /usr/lib/libQt5Widgets.so.5
[...]
#12 0x00007f2d348212af in QTabBar::currentChanged(int) () at /usr/lib/libQt5Widgets.so.5
Comment 8 Martin 2018-12-05 22:21:49 UTC
Created attachment 116699 [details]
Forecast plugin settings
Comment 9 Martin 2018-12-05 22:22:37 UTC
Created attachment 116701 [details]
Forecast set-up before crash
Comment 10 Martin 2018-12-05 22:23:28 UTC
Comment to be able to change status.
Comment 11 Thomas Baumgart 2018-12-06 09:49:17 UTC
Thank you for the additional info. I was able to duplicate the problem with it. In the meantime I noticed, that this entry already has been mentioned. I will mark it as a duplicate of it (which it is) because a fix for the other one is currently in review.

*** This bug has been marked as a duplicate of bug 400820 ***