Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Message Could not load database #1933

Closed
BigCityCat opened this issue Nov 20, 2024 · 27 comments
Closed

Message Could not load database #1933

BigCityCat opened this issue Nov 20, 2024 · 27 comments
Labels

Comments

@BigCityCat
Copy link

Describe the bugTrying to open database that has been used for years. App doesn't open with password or biometric. Message Could not load database.

A clear and concise description of what the bug is.

To ReproduceAttempt to open database.

Steps to reproduce the behavior:

  1. Go to app
  2. Click on open
  3. Scroll down to select file
  4. See error could not open database

Expected behavior

database to open

KeePass Database

  • Created with: With keepassxc Ubuntu Linux
  • Version: all versions
  • Location: internal storage
  • File provider File picker Android

KeePassDX:

  • Version: 4.1 0
  • Build: [e.g. Free]
  • Language: English

Android:

Android 15
Nothing Phone 2
Nothing OS 3.0 beta

Additional context

Add any other context about the problem here.

  • Browser for Autofill: [e.g. Chrome version X]
@BigCityCat BigCityCat added the bug label Nov 20, 2024
@cbiere
Copy link

cbiere commented Nov 20, 2024

Can you still open the database with KeePassXC, with the previous version of KeePassDX or some other KeePass-compatible software? Have you tried opening the kdbx file the other way around i.e. from your file manager? A likely cause of failure could be an invalidated internal path. Did this happen right after the update or after some edits? Do you have older versions of the database that still can be opened?

@BigCityCat
Copy link
Author

I was able to open the database with a Keepass compatible app.

I was using the Android file picker to attempt to open the file with KeepassDX and it was not working. I just tried to open the file from another location using google drive and it failed with the same message.

@BigCityCat
Copy link
Author

I am able to open the database with all other compatible applications on Windows, Android and Linux. I have been using this database for years and have it stored in multiple locations.

@BigCityCat
Copy link
Author

BigCityCat commented Nov 21, 2024

This happened after the update to Android 15 and Nothing OS 3.0 beta

@BigCityCat
Copy link
Author

Is there a log file I can access somewhere on Android that may be able to help? As I mentioned I am able to open the database with another app but I would prefer to use KeepassDX.

@BigCityCat
Copy link
Author

I apologize for the late response.

@cbiere
Copy link

cbiere commented Nov 21, 2024

You can install LogFox from F-Droid to access the system logs or you can access them using adb from a computer connected via USB (https://developer.android.com/tools/logcat). The latter is more complicated.

@BigCityCat
Copy link
Author

I have Fdroid. let me see if I can do that.

@BigCityCat
Copy link
Author

BigCityCat commented Nov 21, 2024

okay that isn't the most intuitive thing I have ever done but I used ADB with the Ubuntu terminal and I believe I was able to get the message from that.

org.chromium.content.app.SandboxedProcessService0:0}
11-21 14:28:21.131 2539 2620 I ActivityManager: Killing 17443:com.kunzisoft.keepass.free/u0a259 (adj 905): remove task
11-21 14:28:21.154 2539 2620 W ActivityManager: setHasOverlayUi called on unknown pid: 17443

If that's not all you need you may have to give me the command here to paste into the terminal. That would be much easier.

@BigCityCat
Copy link
Author

I ran the following command adb logcat ActivityManager:I MyApp:D *:S

Then I opened the app. It failed to open the database and the code above displayed in the terminal.

@cbiere
Copy link

cbiere commented Nov 21, 2024

If you use adb with USB debugging, the following command should be sufficient in your shell:
adb logcat|grep -i keepass

Then try to open the database and see what log messages you get. There should be a couple of dozens lines. There should be nothing sensitive in there except for the filepath.

@BigCityCat
Copy link
Author

There's a lot more than a dozen lines. Do you want me to post all of it? Or is there a certain section you are interested in?

@BigCityCat
Copy link
Author

Here it is.

11-21 14:52:58.001 3092 3100 W ndroid.systemui: ApkAssets: Deleting an ApkAssets object ' and /data/app/~~ZlngIiPpsj-SzwPPLXKDzg==/com.kunzisoft.keepass.free-nYNyS6npnUkYW8vWS3TIkQ==/base.apk' with 2 weak references
11-21 14:52:58.704 2539 4993 D NtMemoryManager: mIsHighPressureScene: false : com.kunzisoft.keepass.free
11-21 14:52:58.705 2539 4993 V NtGameModeImpl: onAppFocusChanged: pkg=com.kunzisoft.keepass.free, uid=10259, category=7, launchMode= 1
11-21 14:52:58.705 2539 4993 D NtPopUpViewImpl: PopUpView: onAppFocusChanged: newTask=Task{a397258 #35 type=standard A=10259:com.kunzisoft.keepass.free}, showDimmer=false
11-21 14:52:58.709 3060 5510 D TopAppSceneDetector: currentFocusApp=com.kunzisoft.keepass.free
11-21 14:52:58.710 3060 5510 D NearbyDetector: onTopActivityChanged: top class name: com.kunzisoft.keepass.activities.FileDatabaseSelectActivity
11-21 14:52:58.710 3060 5510 D GameSceneDetector: onTopChanged=com.kunzisoft.keepass.free, isBoostTypeGame=false, isCategoryGame=false
11-21 14:52:58.710 3060 5510 D SceneManager: TopAPP=com.kunzisoft.keepass.free, category=7
11-21 14:52:58.713 3315 3438 I DynamicDDSService: handleMessage(ACTIVITY_INVOKE{appInfo=com.kunzisoft.keepass.free isFullScreen=}true)
11-21 14:52:58.717 2539 4984 D NtAppUsageManager: Duration is too short, ignore : 13 in com.kunzisoft.keepass.free
11-21 14:52:58.719 2539 4984 I ActivityTaskManager: START u0 {cmp=com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity (has extras)} with LAUNCH_MULTIPLE from uid 10259 pid 20354 (BAL_ALLOW_VISIBLE_WINDOW) result code=0
11-21 14:52:58.735 2539 4518 D NtMemoryManager: mIsHighPressureScene: false : com.kunzisoft.keepass.free
11-21 14:52:58.737 2539 4518 I ActivityTaskManager: The Process com.kunzisoft.keepass.free Already Exists in BG. So sending its PID: 20354
11-21 14:52:58.740 2539 4518 V NtGameModeImpl: onAppFocusChanged: pkg=com.kunzisoft.keepass.free, uid=10259, category=7, launchMode= 1
11-21 14:52:58.741 2539 4518 D NtPopUpViewImpl: PopUpView: onAppFocusChanged: newTask=Task{a397258 #35 type=standard A=10259:com.kunzisoft.keepass.free}, showDimmer=false
11-21 14:52:58.776 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.776 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.777 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.777 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.778 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.778 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.789 2539 4991 D CoreBackPreview: Window{50237dd u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@fe50e9e, mPriority=0, mIsAnimationCallback=false}
11-21 14:52:58.803 2539 4991 V AutofillSession: Primary service component name: ComponentInfo{keepass2android.keepass2android/keepass2android.services.Kp2aAutofillService}, secondary service component name: ComponentInfo{com.android.credentialmanager/com.android.credentialmanager.autofill.CredentialAutofillService}
11-21 14:52:58.815 2539 4991 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.815 2539 4991 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.815 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.815 2539 4992 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.816 2539 4991 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.816 2539 4991 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.816 2539 4518 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.816 2539 4518 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.821 2539 2617 I ActivityTaskManager: Displayed com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity for user 0: +104ms
11-21 14:52:58.823 3092 3237 V WindowManagerShell: onTransitionReady (#116) android.os.BinderProxy@3b0f0f2: {id=116 t=CLOSE f=0x0 trk=0 opt={t=FROM_STYLE} r=[0@Point(0, 0)] c=[{null m=OPEN f=FILLS_TASK leash=Surface(name=ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity)/@0x8ec8343 sb=Rect(0, 0 - 0, 0) eb=Rect(0, 0 - 1080, 2412) d=-1->0 r=-1->0:-1 bc=ff182219 component=com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}},{null m=CLOSE f=FILLS_TASK leash=Surface(name=ActivityRecord{2909648 u0 com.google.android.documentsui/com.android.documentsui.picker.PickActivity)/@0x5847dc0 sb=Rect(0, 0 - 1080, 2412) eb=Rect(0, 0 - 1080, 2412) d=0 bc=ff182219 component=com.google.android.documentsui/com.android.documentsui.picker.PickActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}}]}
11-21 14:52:58.824 2539 2617 V WindowManager: {null m=OPEN f=FILLS_TASK leash=Surface(name=ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity)/@0x299e611 sb=Rect(0, 0 - 0, 0) eb=Rect(0, 0 - 1080, 2412) d=-1->0 r=-1->0:-1 bc=ff182219 component=com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}},
11-21 14:52:58.826 3092 3237 V WindowManagerShell: Transition doesn't have explicit remote, search filters for match for {id=116 t=CLOSE f=0x0 trk=0 opt={t=FROM_STYLE} r=[0@Point(0, 0)] c=[{null m=OPEN f=FILLS_TASK leash=Surface(name=ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity)/@0x8ec8343 sb=Rect(0, 0 - 0, 0) eb=Rect(0, 0 - 1080, 2412) d=-1->0 r=-1->0:-1 bc=ff182219 component=com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}},{null m=CLOSE f=FILLS_TASK leash=Surface(name=ActivityRecord{2909648 u0 com.google.android.documentsui/com.android.documentsui.picker.PickActivity)/@0x5847dc0 sb=Rect(0, 0 - 1080, 2412) eb=Rect(0, 0 - 1080, 2412) d=0 bc=ff182219 component=com.google.android.documentsui/com.android.documentsui.picker.PickActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}}]}
11-21 14:52:58.826 3092 3237 V WindowManagerShell: start default transition animation, info = {id=116 t=CLOSE f=0x0 trk=0 opt={t=FROM_STYLE} r=[0@Point(0, 0)] c=[{null m=OPEN f=FILLS_TASK leash=Surface(name=ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity)/@0x8ec8343 sb=Rect(0, 0 - 0, 0) eb=Rect(0, 0 - 1080, 2412) d=-1->0 r=-1->0:-1 bc=ff182219 component=com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}},{null m=CLOSE f=FILLS_TASK leash=Surface(name=ActivityRecord{2909648 u0 com.google.android.documentsui/com.android.documentsui.picker.PickActivity)/@0x5847dc0 sb=Rect(0, 0 - 1080, 2412) eb=Rect(0, 0 - 1080, 2412) d=0 bc=ff182219 component=com.google.android.documentsui/com.android.documentsui.picker.PickActivity ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=0x0}}]}
11-21 14:52:58.828 2539 4518 D ContentCapturePerUserService: Notified activity assist data for activity: Token{e90193e ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity t35}} without a session Id
11-21 14:52:58.829 2539 4518 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.829 2539 4518 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.844 2539 2620 D NtPerfTraceManagerImpl: packageName = com.kunzisoft.keepass.free, taskId = 35
11-21 14:52:58.854 2539 2951 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 4 Modality: 8 Status: 4
11-21 14:52:58.854 2539 2951 D BiometricService/PreAuthInfo: Package: com.kunzisoft.keepass.free Sensor ID: 0 Modality: 2 Status: 1
11-21 14:52:58.855 2539 3013 D BiometricScheduler: [Added] {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, new queue size: 1
11-21 14:52:58.855 2539 3013 D BiometricScheduler: [Polled] {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, State: 0
11-21 14:52:58.856 2539 3013 D BiometricScheduler: Waiting for cookie before starting: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, State: 4
11-21 14:52:58.863 5227 5227 I GoogleInputMethodService: GoogleInputMethodService.onStartInput():1911 onStartInput(EditorInfo{EditorInfo{packageName=com.kunzisoft.keepass.free, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=0, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, false)
11-21 14:52:58.865 2539 4518 W PackageConfigPersister: App-specific configuration not found for packageName: com.kunzisoft.keepass.free and userId: 0
11-21 14:52:58.868 2539 2539 D ActivityManager: sync unfroze 12726 keepass2android.keepass2android for 6
11-21 14:52:58.917 12726 12726 I keepass2android: Explicit concurrent mark compact GC freed 560KB AllocSpace bytes, 0(0B) LOS objects, 92% free, 2056KB/26MB, paused 66us,437us total 7.180ms
11-21 14:52:58.923 20354 20354 I ImeTracker: com.kunzisoft.keepass.free:acadb6e7: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false
11-21 14:52:58.923 20354 20354 I ImeTracker: com.kunzisoft.keepass.free:acadb6e7: onFailed at PHASE_CLIENT_VIEW_SERVED
11-21 14:52:58.932 2539 3083 D ContentCapturePerUserService: Notified activity assist data for activity: Token{e90193e ActivityRecord{13014c0 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity t35}} without a session Id
11-21 14:52:58.939 12726 12726 W PendingIntent: android.app.StackTrace: New mutable implicit PendingIntent: pkg=keepass2android.keepass2android, action=null, featureId=null. This will be blocked once the app targets U+ for security reasons.
11-21 14:52:59.131 2539 3013 D BiometricScheduler: [Started] {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.131 2539 3013 D BiometricStateCallback: State updated from 0 to 3, client {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.131 2539 3013 D Biometrics/AuthenticationClient: Requesting auth for com.kunzisoft.keepass.free
11-21 14:52:59.147 2539 3013 V BiometricSchedulerOperation: started: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, State: 2
11-21 14:52:59.147 2539 3013 D BiometricScheduler: [Started] Prepared client: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, State: 2
11-21 14:52:59.319 3315 3438 I DynamicDDSService: handleMessage(ACTIVITY_SUSPEND{appInfo=com.kunzisoft.keepass.free isFullScreen=}true)
11-21 14:52:59.347 3315 3438 I DynamicDDSService: handleMessage(ACTIVITY_INVOKE{appInfo=com.kunzisoft.keepass.free isFullScreen=}true)
11-21 14:52:59.849 2539 3013 V Biometrics/AuthenticationClient: onAuthenticated(true), ID:138734583, Owner: com.kunzisoft.keepass.free, isBP: true, listener: com.android.server.biometrics.sensors.ClientMonitorCallbackConverter@8f49d29, requireConfirmation: false, user: 0, clientMonitor: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.849 2539 3013 V BiometricUtils: Checking if the authenticating is in background, clientPackage:com.kunzisoft.keepass.free
11-21 14:52:59.850 2539 3013 D BaseClientMonitor: marking operation as done: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.850 2539 3013 D BiometricStateCallback: Client finished, state updated to 0, client {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.850 2539 3013 D BiometricSchedulerOperation: [Finished / destroy]: {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}
11-21 14:52:59.853 2539 3013 D BiometricScheduler: [Finishing] {[38] com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintAuthenticationClient, proto=3, owner=com.kunzisoft.keepass.free, cookie=242863649, requestId=11, userId=0}, success: true
11-21 14:53:00.249 2539 4983 I ActivityManager: Background started FGS: Allowed [callingPackage: com.kunzisoft.keepass.free; callingUid: 10259; uidState: TOP ; uidBFSL: [BFSL]; intent: Intent { act=ACTION_DATABASE_LOAD_TASK cmp=com.kunzisoft.keepass.free/com.kunzisoft.keepass.services.DatabaseTaskNotificationService (has extras) }; code:PROC_STATE_TOP; tempAllowListReason:; targetSdkVersion:34; callerTargetSdkVersion:34; startForegroundCount:0; bindFromPackage:null: isBindService:false]
11-21 14:53:00.265 20354 20391 D com.kunzisoft.keepass.database.file.input.DatabaseInput: Start retrieving database key...
11-21 14:53:00.266 20354 20391 D nativeloader: Load /data/app/~~ZlngIiPpsj-SzwPPLXKDzg==/com.kunzisoft.keepass.free-nYNyS6npnUkYW8vWS3TIkQ==/lib/arm64/libaes.so using ns clns-7 from class loader (caller=/data/app/~~ZlngIiPpsj-SzwPPLXKDzg==/com.kunzisoft.keepass.free-nYNyS6npnUkYW8vWS3TIkQ==/base.apk): ok
11-21 14:53:00.266 20354 20391 D nativeloader: Load /data/app/~~ZlngIiPpsj-SzwPPLXKDzg==/com.kunzisoft.keepass.free-nYNyS6npnUkYW8vWS3TIkQ==/lib/arm64/libargon2.so using ns clns-7 from class loader (caller=/data/app/~~ZlngIiPpsj-SzwPPLXKDzg==/com.kunzisoft.keepass.free-nYNyS6npnUkYW8vWS3TIkQ==/base.apk): ok
11-21 14:53:00.267 2539 4983 D CoreBackPreview: Window{f70dd6a u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@73d7ea4, mPriority=0, mIsAnimationCallback=false}
11-21 14:53:00.267 20354 20391 D com.kunzisoft.keepass.database.file.input.DatabaseInput: Stop retrieving database key... 2 ms
11-21 14:53:00.267 20354 20391 D com.kunzisoft.keepass.database.file.input.DatabaseInput: Start decrypting database content...
11-21 14:53:00.271 2539 2620 D NtPerfTraceManagerImpl: packageName = com.kunzisoft.keepass.free, taskId = 35
11-21 14:53:00.286 5227 5227 I GoogleInputMethodService: GoogleInputMethodService.onStartInput():1911 onStartInput(EditorInfo{EditorInfo{packageName=com.kunzisoft.keepass.free, inputType=81, inputTypeString=Password[], enableLearning=false, autoCorrection=false, autoComplete=true, imeOptions=1000006, privateImeOptions=null, actionName=DONE, actionLabel=null, initialSelStart=0, initialSelEnd=0, initialCapsMode=0, label=null, fieldId=2131296951, fieldName=null, extras=Bundle[mParcelledData.dataSize=404], hintText=non-empty, hintLocales=[]}}, false)
11-21 14:53:00.287 2539 4518 W PackageConfigPersister: App-specific configuration not found for packageName: com.kunzisoft.keepass.free and userId: 0
11-21 14:53:00.293 20354 20391 E com.kunzisoft.keepass.database.element.Database: Unable to load the database
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.DateInstant$Companion.fromDateTimeSecondsFormat(DateInstant.kt:275)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.file.input.DatabaseInputKDBX.readDateInstant(DatabaseInputKDBX.kt:832)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.file.input.DatabaseInputKDBX.readXmlElement(DatabaseInputKDBX.kt:606)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.file.input.DatabaseInputKDBX.readDocumentStreamed(DatabaseInputKDBX.kt:312)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.file.input.DatabaseInputKDBX.openDatabase(DatabaseInputKDBX.kt:201)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.Database$loadData$2.invoke(Database.kt:588)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.Database$loadData$2.invoke(Database.kt:565)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.Database.readDatabaseStream(Database.kt:767)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.Database.loadData(Database.kt:565)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.action.LoadDatabaseRunnable.onActionRun(LoadDatabaseRunnable.kt:60)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.tasks.ActionRunnable.run(ActionRunnable.kt:36)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.services.DatabaseTaskNotificationService$executeAction$2$1$asyncResult$1.invokeSuspend(DatabaseTaskNotificationService.kt:642)
11-21 14:53:00.293 20354 20391 E ActionRunnable: com.kunzisoft.keepass.database.exception.DatabaseInputException
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.element.Database.loadData(Database.kt:604)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.database.action.LoadDatabaseRunnable.onActionRun(LoadDatabaseRunnable.kt:60)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.tasks.ActionRunnable.run(ActionRunnable.kt:36)
11-21 14:53:00.293 20354 20391 E ActionRunnable: at com.kunzisoft.keepass.services.DatabaseTaskNotificationService$executeAction$2$1$asyncResult$1.invokeSuspend(DatabaseTaskNotificationService.kt:642)
11-21 14:53:00.295 2539 2620 D NtPerfTraceManagerImpl: packageName = com.kunzisoft.keepass.free, taskId = 35
11-21 14:53:00.296 2539 4518 D CoreBackPreview: Window{f70dd6a u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity}: Setting back callback null
11-21 14:53:00.297 2539 4518 W InputManager-JNI: Input channel object 'f70dd6a com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity (client)' was disposed without first being removed with the input manager!
11-21 14:53:00.302 12726 12726 I keepass2android: Explicit concurrent mark compact GC freed 472KB AllocSpace bytes, 0(0B) LOS objects, 92% free, 2064KB/26MB, paused 54us,371us total 3.622ms
11-21 14:53:00.310 2539 4984 D ActivityManager: Stop FGS timeout: ServiceRecord{2d29487 u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.services.DatabaseTaskNotificationService c:com.kunzisoft.keepass.free}
11-21 14:53:00.311 2539 2620 D NtPerfTraceManagerImpl: packageName = com.kunzisoft.keepass.free, taskId = 35
11-21 14:53:00.326 12726 12726 I keepass2android: Explicit concurrent mark compact GC freed 132KB AllocSpace bytes, 0(0B) LOS objects, 92% free, 1996KB/25MB, paused 43us,881us total 3.782ms
11-21 14:53:00.332 12726 12726 W PendingIntent: android.app.StackTrace: New mutable implicit PendingIntent: pkg=keepass2android.keepass2android, action=null, featureId=null. This will be blocked once the app targets U+ for security reasons.
11-21 14:53:02.232 2539 2617 V WindowManager: {WCT{RemoteToken{c4fa746 Task{a397258 #35 type=standard A=10259:com.kunzisoft.keepass.free}}} m=TO_BACK f=NONE leash=Surface(name=Task=35)/@0x19a2188 sb=Rect(0, 0 - 1080, 2412) eb=Rect(0, 0 - 1080, 2412) d=0 taskParent=-1 ntPopUpView={mIsTryEnterWindowingMode=false mIsEnterWindowingModeLandscape=false mStartPos=Point(0, 0) mEndPos=Point(0, 0) mStartScale=0.0 mEndScale=0.0 mStartCornerRadius=0.0 mEndCornerRadius=0.0 mAppBounds=Rect(0, 0 - 0, 0) mWindowCrop=Rect(0, 0 - 0, 0) mStartDragBounds=Rect(0, 0 - 0, 0) mBottomLeftCornerLeash=null mBottomRightCornerLeash=null mCornerHintSize=54x54}},
11-21 14:53:02.252 3060 5510 D NearbyDetector: onTopActivityChanged: top class name: com.kunzisoft.keepass.activities.MainCredentialActivity
11-21 14:53:03.000 3315 7679 W DynamicDDSService: appName is not found in cache: com.kunzisoft.keepass.free
11-21 14:53:03.000 3315 3438 I DynamicDDSService: handleMessage(ACTIVITY_SUSPEND{appInfo=com.kunzisoft.keepass.free isFullScreen=}true)
11-21 14:53:03.001 3315 3347 W DynamicDDSService: appName is not found in cache: com.kunzisoft.keepass.free
11-21 14:53:03.014 2539 2620 D NtMemoryManager: Ignore pre fork for com.kunzisoft.keepass.free
11-21 14:53:03.017 2539 3083 D CoreBackPreview: Window{b10290b u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.FileDatabaseSelectActivity}: Setting back callback null
11-21 14:53:03.022 2539 3083 W InputManager-JNI: Input channel object 'b10290b com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.FileDatabaseSelectActivity (client)' was disposed without first being removed with the input manager!
11-21 14:53:03.025 2539 2896 W UsageStatsService: Unexpected activity event reported! (com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.FileDatabaseSelectActivity event : 23 instanceId : 33512452)
11-21 14:53:03.028 2539 4518 D CoreBackPreview: Window{50237dd u0 com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity}: Setting back callback null
11-21 14:53:03.031 2539 3083 W InputManager-JNI: Input channel object '50237dd com.kunzisoft.keepass.free/com.kunzisoft.keepass.activities.MainCredentialActivity (client)' was disposed without first being removed with the input manager!
11-21 14:53:03.039 2539 2620 I ActivityManager: Killing 20354:com.kunzisoft.keepass.free/u0a259 (adj 905): remove task
11-21 14:53:13.072 2539 2910 D ActivityManager: freezing 12726 keepass2android.keepass2android

@BigCityCat
Copy link
Author

and BTW it also does not open with the password.

@J-Jamet
Copy link
Member

J-Jamet commented Nov 21, 2024

There seems to be a problem with the dates, perhaps an unrecognized format is causing the error, I had done quite a bit of testing but perhaps an exception capture is missing. I'd have to reproduce the problem with a database that doesn't contain sensitive data. I'll investigate.

@cbiere
Copy link

cbiere commented Nov 21, 2024

@BigCityCat: Could you create a dummy database with the same tools and way you used for the affected database and see if it causes the same issue?

@J-Jamet: Could you provide a build that logs the timestamps which cannot be parsed (hex encoded)?

@cbiere
Copy link

cbiere commented Nov 21, 2024

@BigCityCat Could you also have a look with KeePassXC and see what timestamps are shown in Database -> Statistics. Database created and Last saved.

In my case they look like this:
9/21/24 9:35 AM

Which is actually not my format of choice.

@BigCityCat
Copy link
Author

I created a new dummy database and it opened fine but it may be impossible to create it exactly the same way. I'm using Flatpak now. This database was created years ago.

I use all fields. Passwords, URL and notes

@BigCityCat
Copy link
Author

I'm not sure if this will help. I'm using a FlatPak App called Secrets. And on the phone keepassdx.

Screenshot from 2024-11-21 16-02-36

@BigCityCat
Copy link
Author

I will log into windows and see what that app says.

@cbiere
Copy link

cbiere commented Nov 21, 2024

In theory, you could sort the entries in KeePassXC by Last Modified date and go through all the entries until you find some nonsensical date. I wonder if an extra leap second (a minute with 61 seconds) could cause this problem.

@BigCityCat
Copy link
Author

KeepassXC
Date Created 8/9/2013 1:36 AM
Last Saved 10/22/2024 6:08 PM

@BigCityCat
Copy link
Author

BigCityCat commented Nov 21, 2024

actually there are quite a few that say 12/31/1969 7:00 PM and I see some that have creation dates in the future actually 2025. I was not alive in either of those. maybe I can go back and modify the dates. But After dinner.

@cbiere
Copy link

cbiere commented Nov 21, 2024

"12/31/1969 7:00 PM" might not be what's actually in the decrypted XML, but the result of not being able to parse the timestamp. I don't think you can edit the timestamps of the entries with KeePassXC. What you can do is clone them without the history and delete the original entry. The new entry will have the current time for all timestamps.

I'm not quite sure whether it's a great idea that KeePassDX won't open the database at all if there's a bogus timestamp. I'd prefer if it threw a warning and opened the database read-only, at least.

@BigCityCat
Copy link
Author

I was actually able to go through and delete the history on some and others I just made a small adjustment and saved it so the date was updated. After I moved the file back to my phone and it did open. It's fixed. Thanks for your help.

@BigCityCat
Copy link
Author

Hopefully I was able to help improve your app in some way. Appreciate your commitment. Thank you.

@J-Jamet
Copy link
Member

J-Jamet commented Nov 24, 2024

I'm not quite sure whether it's a great idea that KeePassDX won't open the database at all if there's a bogus timestamp. I'd prefer if it threw a warning and opened the database read-only, at least.

I agree with that. Thanks guys for investigating, I'll create a new rule to not throw the exception to prevent opening but replace with the current date if impossible to parse.

@J-Jamet J-Jamet added this to 4.2.0 Nov 24, 2024
@J-Jamet J-Jamet moved this to Done in 4.2.0 Nov 24, 2024
J-Jamet added a commit that referenced this issue Nov 24, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

3 participants