Comments (11)
have you upgraded from version 1.4.17 to version 2.0.0 alpha? or is a clean install?
from android-money-manager-ex.
I could not simulate the problem. Reading Google help page I modified different code that you can look in this commit:
Tonight I perform the merge of these changes on the branch androdi-l-dev main repo.
from android-money-manager-ex.
The database was used by 1.4.17. Synced via Dropbox.
My initial application v1.4.17 was first removed. Then I installed manually versions from GitHub releases. This error was happening regularly.
Today I removed that app, joined beta testing and installed from Google Play. The behaviour is still the same.
from android-money-manager-ex.
Great. Looking forward to the next version. Will provide further info at that point.
from android-money-manager-ex.
Hi,
I made the merge of the changes: 8aba4af
can you try again?
from android-money-manager-ex.
Still the same. New logcat.
The interesting part is this:
03-12 09:25:50.285 E/AndroidRuntime(23352): Process: com.money.manager.ex, PID: 23352
03-12 09:25:50.285 E/AndroidRuntime(23352): Caused by: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /storage/emulated/0/MoneyManagerEx/dropbox/alen.mmb
03-12 09:25:50.285 E/AndroidRuntime(23352): at com.money.manager.ex.adapter.AllDataAdapter$BalanceAmount.doInBackground(AllDataAdapter.java:375)
03-12 09:25:50.285 E/AndroidRuntime(23352): at com.money.manager.ex.adapter.AllDataAdapter$BalanceAmount.doInBackground(AllDataAdapter.java:360)
Need to find out more about "attempt to re-open an already-closed object: SQLiteDatabase" happening at AllDataAdapter.java:375.
from android-money-manager-ex.
I've broken down the long command into simpler ones, to see where the exception originates.
and now the error is completely different. Logcat
03-12 10:23:21.234 E/InputDispatcher(2373): channel '2ff86a4e com.money.manager.ex/com.money.manager.ex.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
The error has now moved to reading of the account. This makes sense, since the db changes are persisted after the crash. Meaning the crash occurred after the db update.
from android-money-manager-ex.
OK, good news - I don't know what exactly is the reason but I have a good hint and I know when it happens.
There is a deadlock issue when "balance for each transaction" is turned on. Db is closed after editing a transaction and the checking account activity tries to read but mDatabase variable has no references left.
My guess is that in one of these getDatabase() calls, it should just check if there are any left and re-open the database connection if there aren't.
The exception is thrown from SQLiteClosable:acquireReference because mReferenceCount == 0.
from android-money-manager-ex.
I was able to simulate the issue. Tonight I try to find a solution.
from android-money-manager-ex.
Excellent!
from android-money-manager-ex.
I can confirm the crash is not happening any more.
from android-money-manager-ex.
Related Issues (20)
- Missing APK in pre-release 2024.01.16.1014 HOT 3
- New notes field in split transaction shows "Notes" text HOT 6
- Search Error in reports HOT 2
- comma issue HOT 3
- Wrong Total in Report
- New update (2024.01.13) can't open old database (2019.02.24) HOT 10
- Database cannot be opened since updating HOT 1
- App animations and transitions should be disabled when disabled in the OS HOT 2
- Crash on income/expenses HOT 2
- Update Documentation for FDroid HOT 1
- Account types available on Desktop are different to Android app HOT 6
- Budget screen crashes HOT 5
- Category entries appear incorrectly, and differently, in the Transaction list and in the Recurring Transaction list HOT 1
- Settings labels are truncated instead of wrapping
- Budget show Always zero in planned value HOT 1
- Crash on startup HOT 1
- Sync issues with Syncthing HOT 42
- A couple of useful features for MoneyManagerEX HOT 5
- Passcode Keypad Not working after cancelling biometric HOT 2
- Opening Data base in Mobil HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-money-manager-ex.