ah my bad. This is in gmp, but isn't a malloc issue. Interesting. Since it's in gmpq_div it's likely a divide by zero for some reason.
On Thu, Jul 7, 2022 at 11:49 AM Jack <ostrof...@users.sourceforge.net> wrote: > I have 3.7.6, which is currently the only version available in Gentoo. > gmp is 6.2.1-r2 (second Gentoo revision, but I don't know what changed.) > Crash remains after recompiling gmp and gnutls. > On 7/7/22 13:28, Jeremy Whiting wrote: > > This is a duplicate of the gnutls crash found a couple months ago. What > version of gnutls do you have on your device? > https://bugs.kde.org/show_bug.cgi?id=453857 > > gnutls 3.7.5 introduced the bug, 3.7.5-2 from arch has a fix, gnutls also > released a fix in 3.7.6 iirc > > On Thu, Jul 7, 2022 at 11:16 AM Jack via KMyMoney-devel < > kmymoney-devel@kde.org> wrote: > >> I got several of these over the past days, but didn't report yet, as I >> wasn't sure I was on absolute latest. I just recompiled from git >> master head, and get this (consistently) when saving an investment >> transaction, where I had changed the security. Let me know if there is >> any other information which might be helpful. >> >> Separate but related, and I'll add to Issue 61 later, closed accounts, >> when shown, are not shown crossed out, in security dropdown, but also >> on Favorite accounts on Home View. >> >> Thread 1 "kmymoney" received signal SIGFPE, Arithmetic exception. >> 0x00007ffff55b4e1c in ?? () from /lib64/libc.so.6 >> (gdb) bt >> #0 0x00007ffff55b4e1c in () at /lib64/libc.so.6 >> #1 0x00007ffff5567a12 in raise () at /lib64/libc.so.6 >> #2 0x00007ffff6f8c867 in __gmp_exception () at /usr/lib64/libgmp.so.10 >> #3 0x00007ffff6f8c88e in () at /usr/lib64/libgmp.so.10 >> #4 0x00007ffff6fa6ab5 in __gmpq_div () at /usr/lib64/libgmp.so.10 >> #5 0x00007ffff76e1402 in AlkValue::operator/(AlkValue const&) const () >> at /usr/lib64/libalkimia5.so.8 >> #6 0x00007ffff79e93c6 in MyMoneyMoney::operator/(MyMoneyMoney const&) >> const (this=this@entry=0x7fffffffc3c0, _b=...) >> at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/mymoney/mymoneymoney.cpp:349 >> #7 0x00005555556c2423 in >> InvestTransactionEditor::saveTransaction(QStringList const&) >> (this=this@entry=0x55555e636140, selectedJournalEntries=...) >> at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/views/investtransactioneditor.cpp:1212 >> #8 0x00005555556a8dc0 in JournalDelegate::setModelData(QWidget*, >> QAbstractItemModel*, QModelIndex const&) const (this=0x55555ef09cf0, >> editWidget=<optimized out>, model=<optimized out>, index=<optimized >> out>) >> at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/views/journaldelegate.cpp:653 >> #9 0x00007ffff7be1a5a in DelegateProxy::setModelData(QWidget*, >> QAbstractItemModel*, QModelIndex const&) const (this=<optimized out>, >> editor=0x55555e636140, model=0x55555e576e20, index=...) >> at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/models/delegateproxy.cpp:141 >> #10 0x00007ffff6be2dff in QAbstractItemView::commitData(QWidget*) () at >> /usr/lib64/libQt5Widgets.so.5 >> #11 0x00007ffff5eb438e in () at /usr/lib64/libQt5Core.so.5 >> #12 0x00007ffff6c015ff in QAbstractItemDelegate::commitData(QWidget*) >> () at /usr/lib64/libQt5Widgets.so.5 >> #13 0x00007ffff7be23c3 in >> QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, >> QtPrivate::List<QWidget*>, void, void >> (QAbstractItemDelegate::*)(QWidget*)>::call(void >> (QAbstractItemDelegate::*)(QWidget*), QAbstractItemDelegate*, void**) >> (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 >> #14 QtPrivate::FunctionPointer<void >> (QAbstractItemDelegate::*)(QWidget*)>::call<QtPrivate::List<QWidget*>, >> void>(void (QAbstractItemDelegate::*)(QWidget*), >> QAbstractItemDelegate*, void**) >> (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 >> #15 QtPrivate::QSlotObject<void (QAbstractItemDelegate::*)(QWidget*), >> QtPrivate::List<QWidget*>, void>::impl(int, >> QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) >> (which=<optimized out>, this_=<optimized out>, r=<optimized out>, >> a=<optimized out>, ret=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:418 >> #16 0x00007ffff5eb45f6 in () at /usr/lib64/libQt5Core.so.5 >> #17 0x00007ffff6c015ff in QAbstractItemDelegate::commitData(QWidget*) >> () at /usr/lib64/libQt5Widgets.so.5 >> #18 0x00005555556a8b5a in JournalDelegate::endEdit() >> (this=0x55555ef09cf0) at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/views/journaldelegate.cpp:618 >> #19 0x00005555556ab342 in >> QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, >> void, void (JournalDelegate::*)()>::call(void (JournalDelegate::*)(), >> JournalDelegate*, void**) >> (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 >> #20 QtPrivate::FunctionPointer<void >> (JournalDelegate::*)()>::call<QtPrivate::List<>, void>(void >> (JournalDelegate::*)(), JournalDelegate*, void**) (arg=<optimized out>, >> o=<optimized out>, f=<optimized out>) >> at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 >> #21 QtPrivate::QSlotObject<void (JournalDelegate::*)(), >> QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, >> QObject*, void**, bool*) >> (which=<optimized out>, this_=<optimized out>, r=<optimized out>, >> a=<optimized out>, ret=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:418 >> #22 0x00007ffff5eb45f6 in () at /usr/lib64/libQt5Core.so.5 >> #23 0x000055555560e50c in TransactionEditorBase::done() >> (this=<optimized out>) >> at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999_build/kmymoney/views/views_autogen/EWIEGA46WW/moc_transactioneditorbase.cpp:151 >> #24 0x00005555556b5d81 in operator() (__closure=<optimized out>) at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/views/investtransactioneditor.cpp:884 >> #25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, >> void, InvestTransactionEditor::InvestTransactionEditor(QWidget*, const >> QString&)::<lambda()> >::call (arg=<optimized out>, f=<optimized out>) >> at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 >> #26 >> QtPrivate::Functor<InvestTransactionEditor::InvestTransactionEditor(QWidget*, >> >> const QString&)::<lambda()>, 0>::call<QtPrivate::List<>, void> >> (arg=<optimized out>, f=<optimized out>) >> at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 >> #27 >> QtPrivate::QFunctorSlotObject<InvestTransactionEditor::InvestTransactionEditor(QWidget*, >> >> const QString&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, >> QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) >> (which=<optimized out>, this_=<optimized out>, r=<optimized out>, >> a=<optimized out>, ret=<optimized out>) at >> /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 >> #28 0x00007ffff5eb45f6 in () at /usr/lib64/libQt5Core.so.5 >> #29 0x00007ffff6a5a1b2 in QAbstractButton::clicked(bool) () at >> /usr/lib64/libQt5Widgets.so.5 >> #30 0x00007ffff6a5a41a in () at /usr/lib64/libQt5Widgets.so.5 >> #31 0x00007ffff6a5c040 in () at /usr/lib64/libQt5Widgets.so.5 >> #32 0x00007ffff6a5c277 in >> QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at >> /usr/lib64/libQt5Widgets.so.5 >> #33 0x00007ffff6b5aa7a in QToolButton::mouseReleaseEvent(QMouseEvent*) >> () at /usr/lib64/libQt5Widgets.so.5 >> #34 0x00007ffff69a6d4e in QWidget::event(QEvent*) () at >> /usr/lib64/libQt5Widgets.so.5 >> #35 0x00007ffff69639af in QApplicationPrivate::notify_helper(QObject*, >> QEvent*) () at /usr/lib64/libQt5Widgets.so.5 >> #36 0x00007ffff696b84a in QApplication::notify(QObject*, QEvent*) () at >> /usr/lib64/libQt5Widgets.so.5 >> #37 0x00007ffff5e80b38 in QCoreApplication::notifyInternal2(QObject*, >> QEvent*) () at /usr/lib64/libQt5Core.so.5 >> #38 0x00007ffff696a31d in QApplicationPrivate::sendMouseEvent(QWidget*, >> QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, >> bool) () at /usr/lib64/libQt5Widgets.so.5 >> #39 0x00007ffff69c07ba in () at /usr/lib64/libQt5Widgets.so.5 >> #40 0x00007ffff69c39d5 in () at /usr/lib64/libQt5Widgets.so.5 >> #41 0x00007ffff69639af in QApplicationPrivate::notify_helper(QObject*, >> QEvent*) () at /usr/lib64/libQt5Widgets.so.5 >> #42 0x00007ffff5e80b38 in QCoreApplication::notifyInternal2(QObject*, >> QEvent*) () at /usr/lib64/libQt5Core.so.5 >> --Type <RET> for more, q to quit, c to continue without paging-- >> #43 0x00007ffff631a450 in >> QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) >> >> () at /usr/lib64/libQt5Gui.so.5 >> #44 0x00007ffff62f9b6b in >> QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) >> >> () at /usr/lib64/libQt5Gui.so.5 >> #45 0x00007fffe4d820ca in () at /usr/lib64/libQt5XcbQpa.so.5 >> #46 0x00007ffff3d9160b in g_main_context_dispatch () at >> /usr/lib64/libglib-2.0.so.0 >> #47 0x00007ffff3d918c8 in () at /usr/lib64/libglib-2.0.so.0 >> #48 0x00007ffff3d9197f in g_main_context_iteration () at >> /usr/lib64/libglib-2.0.so.0 >> #49 0x00007ffff5ed2e54 in >> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) >> >> () at /usr/lib64/libQt5Core.so.5 >> #50 0x00007ffff5e7f51b in >> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at >> /usr/lib64/libQt5Core.so.5 >> #51 0x00007ffff5e87b7d in QCoreApplication::exec() () at >> /usr/lib64/libQt5Core.so.5 >> #52 0x00005555555d708e in runKMyMoney(QApplication&, QUrl const&, bool) >> (a=..., file=..., noFile=noFile@entry=false) at >> >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/main.cpp:385 >> #53 0x00005555555d8648 in main(int, char**) (argc=<optimized out>, >> argv=<optimized out>) at >> /var/tmp/portage/app-office/kmymoney-9999/work/kmymoney-9999/kmymoney/main.cpp:294 >> > >