Bug 422200 - KMyMoney crashes when navigating backwards through CSV import wizard
Summary: KMyMoney crashes when navigating backwards through CSV import wizard
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 5.0.3
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords: drkonqi
: 404174 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-05-28 21:11 UTC by David
Modified: 2020-12-05 10:41 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.1.0


Attachments
csvimportrc with column mappings used (434 bytes, text/plain)
2020-06-12 17:34 UTC, David
Details
CSV file used to cause a crash (1.16 KB, text/csv)
2020-06-12 17:42 UTC, David
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David 2020-05-28 21:11:02 UTC
Application: kmymoney (5.0.3)

Qt Version: 5.11.3
Frameworks Version: 5.54.0
Operating System: Linux 4.19.0-9-amd64 x86_64
Distribution: Debian GNU/Linux 10 (buster)

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

While selecting rows and columns in the CSV import wizard, attempting to navigate back to CSV profile selection causes application to crash every time.

Application is Debian 10.0 stock; not compiled from source.

The crash can be reproduced every time.

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

Thread 11 (Thread 0x7f6428b57700 (LWP 16726)):
#0  0x00007f64409f8819 in __GI___poll (fds=0x7f63a8001b30, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f643a7c3131 in  () at /lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007f643a7b49a0 in pa_mainloop_poll () at /lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007f643a7b4fee in pa_mainloop_iterate () at /lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f643a7b50a0 in pa_mainloop_run () at /lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f643a7c3079 in  () at /lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f6437efc468 in  () at /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so
#7  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8  0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f6415ffd700 (LWP 16606)):
#0  0x00007f64405da00c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f643614505c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f64405da00c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7f6436145008, cond=0x7f6436145030) at pthread_cond_wait.c:502
#2  0x00007f64405da00c in __pthread_cond_wait (cond=0x7f6436145030, mutex=0x7f6436145008) at pthread_cond_wait.c:655
#3  0x00007f6440d203bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f643e5b3160 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007f643e5b1942 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007f643e5b1a16 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#7  0x00007f643e5b5918 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#8  0x00007f643e5d9fea in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#9  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f64167fe700 (LWP 16605)):
#0  0x00007f64405da00c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f64361f2bbc) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f64405da00c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7f64361f2b68, cond=0x7f64361f2b90) at pthread_cond_wait.c:502
#2  0x00007f64405da00c in __pthread_cond_wait (cond=0x7f64361f2b90, mutex=0x7f64361f2b68) at pthread_cond_wait.c:655
#3  0x00007f6440d203bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f643e5b3160 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007f643e5b1942 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007f643e5b1a16 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#7  0x00007f643e5b5918 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#8  0x00007f643e5d9fea in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#9  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f6416fff700 (LWP 16604)):
#0  0x00007f64405da00c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f64361f2a68) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f64405da00c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7f64361f2a18, cond=0x7f64361f2a40) at pthread_cond_wait.c:502
#2  0x00007f64405da00c in __pthread_cond_wait (cond=0x7f64361f2a40, mutex=0x7f64361f2a18) at pthread_cond_wait.c:655
#3  0x00007f6440d203bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f643e5b3160 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007f643e5b1942 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007f643e5b1a16 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#7  0x00007f643e5b5918 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#8  0x00007f643e5d9fea in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#9  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f63ad7e0700 (LWP 16598)):
#0  0x00007f64409f4494 in __GI___libc_read (nbytes=16, buf=0x7f63ad7dfa40, fd=15) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f64409f4494 in __GI___libc_read (fd=15, buf=0x7f63ad7dfa40, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f643bc42aa0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f643bbfcc0f in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f643bbfd0e0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f643bbfd25c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f64410a9743 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f644105715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f6440ea6e76 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f6440eb0a67 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#11 0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f63f59ff700 (LWP 16332)):
#0  0x00007f64409f4494 in __GI___libc_read (nbytes=16, buf=0x7f63f59fea40, fd=22) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f64409f4494 in __GI___libc_read (fd=22, buf=0x7f63f59fea40, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f643bc42aa0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f643bbfcc0f in g_main_context_check () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f643bbfd0e0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f643bbfd25c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f64410a9743 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f644105715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f6440ea6e76 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f6440eb0a67 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#11 0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f642b256700 (LWP 16326)):
#0  0x00007f64405da00c in futex_wait_cancelable (private=0, expected=0, futex_word=0x555a6e600b28) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f64405da00c in __pthread_cond_wait_common (abstime=0x0, mutex=0x555a6e600ad8, cond=0x555a6e600b00) at pthread_cond_wait.c:502
#2  0x00007f64405da00c in __pthread_cond_wait (cond=0x555a6e600b00, mutex=0x555a6e600ad8) at pthread_cond_wait.c:655
#3  0x00007f642b80ae83 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f642b80abd7 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f643328b700 (LWP 16324)):
#0  0x00007f64409f8819 in __GI___poll (fds=0x7f6424012ca0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f643bbfd136 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f643bbfd25c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f64410a9743 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f644105715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6440ea6e76 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f64412ff545 in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f6440eb0a67 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9  0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f6434282700 (LWP 16323)):
#0  0x00007f64409f8819 in __GI___poll (fds=0x7f6434281b78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f643a9f4cf7 in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f643a9f691a in xcb_wait_for_event () at /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f6434bc5d79 in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f6440eb0a67 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6436a62700 (LWP 16322)):
#0  0x00007f64405da00c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f644051f150) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f64405da00c in __pthread_cond_wait_common (abstime=0x0, mutex=0x555a6e4e86c0, cond=0x7f644051f128) at pthread_cond_wait.c:502
#2  0x00007f64405da00c in __pthread_cond_wait (cond=0x7f644051f128, mutex=0x555a6e4e86c0) at pthread_cond_wait.c:655
#3  0x00007f6440d203bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f643fa4a542 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007f643fa4a659 in  () at /lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007f6440d25b2f in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f64405d3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8  0x00007f6440a034cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6436a68e00 (LWP 16319)):
[KCrash Handler]
#6  0x00007f642a94ac79 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kmymoney/csvimporter.so
#7  0x00007f64420770c7 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007f64420772e3 in QWizard::next() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007f64410817f6 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f6441f34602 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f6441f3481a in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f6441f35bdf in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f6441f35db5 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f6441e8c4d8 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f6441e4e4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f6441e55bb8 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f6441058489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f6441e54ee9 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f6441ea6fd4 in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f6441ea9b5e in  () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007f6441e4e4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f6441e55970 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f6441058489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f644187eff3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007f6441880e75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007f644185b06b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007f6434c5c40b in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007f644105715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f6442038edd in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f642a93bca6 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kmymoney/csvimporter.so
#31 0x00007f642a93b550 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kmymoney/csvimporter.so
#32 0x00007f6441081933 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f6441e47f02 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f6441e4a520 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f6441082072 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f6441e4ada2 in QAction::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007f6441e4e4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007f6441e55970 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007f6441058489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f644105b46b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f64410aa103 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007f643bbfcf2e in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f643bbfd1c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f643bbfd25c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f64410a9727 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00007f6434c5c401 in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#47 0x00007f644105715b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007f644105f132 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x0000555a6d72c23b in  ()
#50 0x0000555a6d72b2e3 in  ()
#51 0x00007f644092e09b in __libc_start_main (main=0x555a6d72a4a0, argc=1, argv=0x7fffd0503058, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffd0503048) at ../csu/libc-start.c:308
#52 0x0000555a6d72be9a in _start ()
[Inferior 1 (process 16319) detached]

Reported using DrKonqi
Comment 1 Thomas Baumgart 2020-06-11 17:09:30 UTC
Please try to update to 5.0.8 (at least) as this problem may have been resolved in the meantime. If the problem still persists, please report that here. Thanks.
Comment 2 Jack 2020-06-11 17:26:29 UTC
As Thomas said, there have been numerous enhancements and fixes to the csv importer since 5.0.3, which is a year and a half old.  5.0.8 is the current stable version, but I don't know how easy it is to upgrade with Debian 10 Buster.  Debian 11 Bullseye and Debian Sid both seem to have 5.0.8 available.  You might also try an appimage version from https://kmymoney.org/appimage.html.
Comment 3 Dawid Wróbel 2020-06-11 18:16:34 UTC
I actually saw that myself and am convinced this bug hasn't been fixed yet. That having said, I wasn't able to reproduce each time this happened.

David, can you please provide a sample file with your column mappings and the exact steps you take so that I can reproduce it on my end?
Comment 4 David 2020-06-12 17:34:05 UTC
Created attachment 129270 [details]
csvimportrc with column mappings used

Change: "Directory=" was changed to ~ remove the name of my financial institution.
Comment 5 David 2020-06-12 17:42:23 UTC
Created attachment 129271 [details]
CSV file used to cause a crash
Comment 6 David 2020-06-12 17:52:03 UTC
(In reply to Dawid Wróbel from comment #3)
> I actually saw that myself and am convinced this bug hasn't been fixed yet.
> That having said, I wasn't able to reproduce each time this happened.
> 
> David, can you please provide a sample file with your column mappings and
> the exact steps you take so that I can reproduce it on my end?

I have attached the csvimportrc containing the column mappings and a CSV file that can be used to cause the crash. Sensitive information was redacted from the CSV file, but I tested it before and after redactions with the same result.


To reproduce:
1) open CSV import wizard
2) select "Banking"
3) select "Credit Union CSV" profile
4) select the "redacted.csv" file to import
5) move forward through the wizard (no changes necessary) 
5) move backward to the first page of the wizard as though to select a different file.
6) No need to actually select a different file. Just continue navigating forward again. Crash will occur before reaching the final page of the wizard.

As long as I do not move back to the first page, the crash will not occur and the import will be successful.
Comment 7 David 2020-06-12 17:55:23 UTC
This weekend, I am planning on upgrading my OS to Debian 11 (testing), so I will no longer be able to contribute further to this bug with Debian 10 (stable). However, I will be able to test and see if the bug still exists with Debian 11.
Comment 8 Thomas Baumgart 2020-06-13 06:28:40 UTC
Git commit 1bcad05dcab4b1389b2ee86a2d81660df20e7cd2 by Thomas Baumgart.
Committed on 13/06/2020 at 06:23.
Pushed by tbaumgart into branch 'master'.

Fix crash in CSV importer

Make sure to always use an up-to-date pointer to the profile object and
update the current memo selection whenever the wizard page is entered.

M  +7    -7    kmymoney/plugins/csv/import/bankingwizardpage.cpp

https://invent.kde.org/office/kmymoney/commit/1bcad05dcab4b1389b2ee86a2d81660df20e7cd2
Comment 9 Thomas Baumgart 2020-06-13 06:28:58 UTC
Git commit 9a104e1be3617b5ecfda9753ffa8d71c9d5458d8 by Thomas Baumgart.
Committed on 13/06/2020 at 06:25.
Pushed by tbaumgart into branch '5.1'.

Fix crash in CSV importer

Make sure to always use an up-to-date pointer to the profile object and
update the current memo selection whenever the wizard page is entered.
FIXED-IN: 5.1.0

(cherry picked from commit 1bcad05dcab4b1389b2ee86a2d81660df20e7cd2)

M  +7    -7    kmymoney/plugins/csv/import/bankingwizardpage.cpp

https://invent.kde.org/office/kmymoney/commit/9a104e1be3617b5ecfda9753ffa8d71c9d5458d8
Comment 10 Thomas Baumgart 2020-12-05 10:41:02 UTC
*** Bug 404174 has been marked as a duplicate of this bug. ***