Bug 398683

Summary: Periodic crashes on dashboard
Product: [Applications] skrooge Reporter: Lukas Sabota <lukas>
Component: generalAssignee: Stephane MANKOWSKI <stephane>
Status: RESOLVED FIXED    
Severity: normal CC: stephane
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: 25.1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: strace output during the crash
enhanced strace output
strace output on crash runing 1c5fa5e git
strace output of crash on import
strace output of dashboard crash
strace actually 5425fbfcb340537
strace output running latest git
another strace output

Description Lukas Sabota 2018-09-15 19:09:38 UTC
Created attachment 114982 [details]
strace output during the crash

I have been experiencing crashes when running skrooge 2.15.0 on Arch Linux 64.  This most recent crash occurred when clicking the "Dashboard" button after checking some transactions.  I w as running in Strace and I noticed some extremely strange output of a ton of asian characters.  I have attached the tail of the output to this bug report.

FWIW the account I am using is normal characters, english transactions.  I imported 3 Quicken files for this skrooge file.

I would be happy to provide any additional information to help in resolving this issue.  I'm going to try to see if I can catch this issue in gdb so I can post a stacktrace.
Comment 1 Lukas Sabota 2018-09-15 19:10:12 UTC
Just a reminder to check the bottom of this strace output - no idea what's going on here
Comment 2 Stephane MANKOWSKI 2018-09-15 19:12:17 UTC
Could you generate traces like this from the console?
export SKGTRACE=5
skrooge 2>&1 > traces.txt
Replay the scenario
Post traces here.
Comment 3 Lukas Sabota 2018-09-15 19:15:20 UTC
Thanks - I will continue to run with SKGTRACE=5 and in strace and will provide the output the next time I can get it to crash.  I can usually get it to crash within 15 minutes or so of use.

Much appreciated; will report back with better output
Comment 4 Lukas Sabota 2018-09-15 20:03:00 UTC
Created attachment 114984 [details]
enhanced strace output
Comment 5 Lukas Sabota 2018-09-15 20:03:28 UTC
happened again when returning to the dashboard - this time after messing around with budgets
Comment 6 Stephane MANKOWSKI 2018-09-16 07:35:12 UTC
Hi,

I have an idea where the issue is but I'm still not able to reproduce it.
I did a modification, are you able to test it by building skrooge if I commit it?

Thank you for your help.
Comment 7 Lukas Sabota 2018-09-16 22:24:07 UTC
Hi Stephane,

Thanks for the quick response!  I am familiar with both building KDE software and git.  I would be happy to test out any potential changes you have.  Let me know how I can access them (what branch to compile with, etc) and I will see if I can reproduce.

Thanks!
Comment 8 Stephane MANKOWSKI 2018-09-17 13:52:20 UTC
Hi,

You just have to do:
git clone https://cgit.kde.org/skrooge.git

Then the README will give you more information.
You can find information here too: https://techbase.kde.org/Projects/Skrooge

Let me do the commit before (this evening).
Comment 9 Stephane MANKOWSKI 2018-09-17 17:56:12 UTC
Commit done, you can test it.
Comment 10 Lukas Sabota 2018-09-17 18:54:35 UTC
Created attachment 115047 [details]
strace output on crash runing 1c5fa5e git

Hi,

I was able to test with latest git (revision 1c5fa5e1f5f1c6e76b64bd3c74539bd75775c78d ) and was able to reproduce when clicking on the dashboard tab.  Note that I can't reproduce this reliably - but usually can get it to happen after clicking around.

I've attached the strace output.

Hope this helps - please let me know if there is additional information I can provide.  Thanks!
Comment 11 Stephane MANKOWSKI 2018-09-17 19:31:03 UTC
Could you try with new commit?
Comment 12 Lukas Sabota 2018-09-17 19:38:50 UTC
Created attachment 115051 [details]
strace output of crash on import

When testing 5425fbfcb3405379639a71f1fa5d0852a5a393b6 I did not get a crash on the Dashboard yet - but as I mentioned I don't have a reliable set of steps to reproduce.  However, I imported some Quicken transactions which triggered this crash.
Comment 13 Lukas Sabota 2018-09-17 19:40:39 UTC
Created attachment 115052 [details]
strace output of dashboard crash

As I was doing more testing, I was able to get a crash from just clicking the dashboard tab.  The previous strace was a different scenario to trigger the trash.
Comment 14 Stephane MANKOWSKI 2018-09-17 19:44:47 UTC
Are you sure you execute the build version?
Because, I can see some traces that you shouldn't have anymore:
WARNING: QSqlDatabasePrivate::database: requested database does not belong to the calling thread

To be sure, you must do a "make install" before launching Skrooge.
Comment 15 Lukas Sabota 2018-09-17 19:55:36 UTC
Oops - yeah you're right.  The last two were accidentily with the release version

I named my scripts wrong :X sorry about that - I will test again and report back
Comment 16 Lukas Sabota 2018-09-17 19:57:46 UTC
Created attachment 115053 [details]
strace actually 5425fbfcb340537

My script was wrong before and running the wrong binary.  I can confirm this is the git binary that is being run in this case
Comment 17 Stephane MANKOWSKI 2018-09-17 20:16:40 UTC
This is surprising that you still have the following traces:
WARNING: QSqlDatabasePrivate::database: requested database does not belong to the calling thread
Comment 18 Lukas Sabota 2018-09-17 20:24:13 UTC
When I run, I do see 2.16.0BETA as the release in the about.

I have been compiling and building to ~/kde with "kdesrc-build" and running with

source ~/kde/.setup-env
export SKGTRACE=5
~/kde/usr/bin/skrooge 2>&1 > traces.txt

I will try building configured for /usr/ and "make install"ing to rule out; maybe some components are somehow being loaded from /usr in my environment
Comment 19 Lukas Sabota 2018-09-17 20:36:31 UTC
I apologize for any time wasted with this so far.

I've removed release skrooge from my system so we eliminate the possibility of anything being loaded from non-git version.

When I try to install from git (mkdir build; cd build; cmake ../; make; sudo make install), I get an error on first run:

Information: Loading plugin Skrooge bank plugin failed because the factory could not be found in skrooge_bank: The shared library was not found.
Information: Loading plugin Bookmark plugin failed because the factory could not be found in skg_bookmark: The shared library was not found.
Information: Loading plugin Undo redo plugin failed because the factory could not be found in skg_undoredo: The shared library was not found.
Information: Loading plugin Monthly plugin failed because the factory could not be found in skg_monthly: The shared library was not found.
Information: Loading plugin Skrooge scheduled plugin failed because the factory could not be found in skrooge_scheduled: The shared library was not found.
Information: Loading plugin Highlight plugin failed because the factory could not be found in skg_highlight: The shared library was not found.
Information: Loading plugin Skrooge calculator plugin failed because the factory could not be found in skrooge_calculator: The shared library was not found.
Information: Loading plugin Delete plugin failed because the factory could not be found in skg_delete: The shared library was not found.
Information: Loading plugin Statistic plugin failed because the factory could not be found in skg_statistic: The shared library was not found.
Information: Loading plugin Skrooge payee plugin failed because the factory could not be found in skrooge_payee: The shared library was not found.
Information: Loading plugin Dashboard plugin failed because the factory could not be found in skg_dashboard: The shared library was not found.
Information: Loading plugin Advice plugin failed because the factory could not be found in skg_advice: The shared library was not found.
Information: Loading plugin Skrooge search plugin failed because the factory could not be found in skrooge_search: The shared library was not found.
Information: Loading plugin Properties plugin failed because the factory could not be found in skg_properties: The shared library was not found.
Information: Loading plugin Skrooge budget plugin failed because the factory could not be found in skrooge_budget: The shared library was not found.
Information: Loading plugin Skrooge print plugin failed because the factory could not be found in skg_print: The shared library was not found.
Information: Loading plugin Skrooge tracker plugin failed because the factory could not be found in skrooge_tracker: The shared library was not found.
Information: Loading plugin Debug plugin failed because the factory could not be found in skg_debug: The shared library was not found.
Information: Loading plugin File plugin failed because the factory could not be found in skg_file: The shared library was not found.
Information: Loading plugin Skrooge categories plugin failed because the factory could not be found in skrooge_categories: The shared library was not found.
Information: Loading plugin Skrooge unit plugin failed because the factory could not be found in skrooge_unit: The shared library was not found.
Information: Loading plugin Skrooge report plugin failed because the factory could not be found in skrooge_report: The shared library was not found.
Information: Loading plugin Selectall plugin failed because the factory could not be found in skg_selectall: The shared library was not found.
Information: Loading plugin Skrooge operation plugin failed because the factory could not be found in skrooge_operation: The shared library was not found.
Information: Loading plugin Skrooge import and export plugin failed because the factory could not be found in skrooge_importexport: The shared library was not found

Any ideas on what I'm missing here?  Thanks again
Comment 20 Lukas Sabota 2018-09-17 20:41:54 UTC
I've noticed that plugin .so files get installed to "/usr/lib/plugins" instead of "/usr/lib/qt/plugins" (arch linux package location for release skrooge).  Not sure what the best way to proceed here is
Comment 21 Stephane MANKOWSKI 2018-09-17 20:46:21 UTC
As written in README, you must do:
cmake .. -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix` -DQT_PLUGIN_INSTALL_DIR=`kf5-config --qt-plugins` -DCMAKE_BUILD_TYPE=release

to install plugin in good directory.
Comment 22 Lukas Sabota 2018-09-17 20:51:04 UTC
Thank you!  I was using horribly outdated information/instructions from https://techbase.kde.org/Projects/Skrooge

Again - I apologize for all the noise on this thread but will report back with my findings. I really appreciate your time in helping me.
Comment 23 Lukas Sabota 2018-09-17 21:06:20 UTC
Created attachment 115054 [details]
strace output running latest git

After completely uninstalling all traces of skrooge on my system, I recompiled skrooge from git (5425fbfcb3405379639a71f1fa5d0852a5a393b6) and compiled with the steps you have provided and installed skrooge to /usr on my system.

I am able to get the crash to occur - this time on an import.  I *do* however see "WARNING: QSqlDatabasePrivate::database: requested database does not belong to the calling thread." in the strace output.

I'm not sure why but I can assure that the skrooge package has been removed and I am running the git version:

/usr/bin/skrooge --version                                                                                                                                                                                                                                                                            
skrooge 2.16.0BETA
Comment 24 Lukas Sabota 2018-09-17 21:06:35 UTC
Created attachment 115055 [details]
another strace output
Comment 25 Stephane MANKOWSKI 2018-09-18 19:26:13 UTC
Git commit 769cb2140af5d47178d1de878463f330da916eee by Stephane MANKOWSKI.
Committed on 18/09/2018 at 19:25.
Pushed by smankowski into branch 'master'.

Periodic crashes on dashboard

M  +1    -0    CHANGELOG
M  +7    -5    skgbasemodeler/skgdocument.cpp

https://commits.kde.org/skrooge/769cb2140af5d47178d1de878463f330da916eee
Comment 26 Stephane MANKOWSKI 2018-09-18 19:26:35 UTC
Is it better with this new delivery?
Comment 27 Lukas Sabota 2018-09-18 20:59:13 UTC
I have not yet been able to reproduce the issue with the latest git commit.  Great news!

I will continue to test and report back if I run into issues.

Thank you for looking into this and addressing this issue!