Bug 398683 - Periodic crashes on dashboard
Summary: Periodic crashes on dashboard
Status: RESOLVED FIXED
Alias: None
Product: skrooge
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 25.1.0
Assignee: Stephane MANKOWSKI
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-15 19:09 UTC by Lukas Sabota
Modified: 2018-09-18 20:59 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
strace output during the crash (165.63 KB, text/plain)
2018-09-15 19:09 UTC, Lukas Sabota
Details
enhanced strace output (617.54 KB, text/plain)
2018-09-15 20:03 UTC, Lukas Sabota
Details
strace output on crash runing 1c5fa5e git (240.17 KB, text/plain)
2018-09-17 18:54 UTC, Lukas Sabota
Details
strace output of crash on import (714.72 KB, text/plain)
2018-09-17 19:38 UTC, Lukas Sabota
Details
strace output of dashboard crash (275.80 KB, text/plain)
2018-09-17 19:40 UTC, Lukas Sabota
Details
strace actually 5425fbfcb340537 (209.78 KB, text/plain)
2018-09-17 19:57 UTC, Lukas Sabota
Details
strace output running latest git (257.32 KB, text/x-matlab)
2018-09-17 21:06 UTC, Lukas Sabota
Details
another strace output (487.84 KB, text/plain)
2018-09-17 21:06 UTC, Lukas Sabota
Details

Note You need to log in before you can comment on or make changes to this bug.
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!