KeePassDX
KeePassDX copied to clipboard
XmlPullException
Describe the bug
KeepassDX cannot open my Keepass 2 database, created on KeepassXC on a Linux desktop. I have recreated the error with a test database that recreates the fault consistently.
Note that on a plain empty password database, the error does not occur. It does on my proper database and it does on this test database.
The error is:
Could not load your database. org.xmlpull.v1.XmlPullParserException: Wrong tvent type (Position: TEXT EgM83Q4AAAA=@38:39 in java.io.InputStreamReader@bff81) though the last suffix changes.
If I export the database to XML, there is indeed the string EgM83Q4AAAA= at line 38, character 39. Excerpt:
<CustomData>
<Item>
<Key>KPXC_DECRYPTION_TIME_PREFERENCE</Key>
<Value>1000</Value>
<LastModificationTime>EgM83Q4AAAA=</LastModificationTime>
</Item>
<Item>
<Key>_LAST_MODIFIED</Key>
<Value>Fri Jan 19 05:43:46 2024 GMT</Value>
</Item>
</CustomData>
Possible contributing factors:
- some group names have an apostrophe in them
- I deleted some entries into the Recycle Bin
- 10 history items are kept
To Reproduce
Steps to reproduce the behavior:
- Open the database FromScratch.kdbx
- Enter the password
qpqpqpqpqpqpqpqpqpqpqpqpqpqpqp(that's 15 lots ofqandp)
Expected behavior
The database should open.
KeePass Database
- Created with: Linux KeepassXC 2.7.4
- Location: Attached
KeePassDX:
- Version: 2.8.3, Android
- Build: libre
- Language: English
Android:
- Device: Galaxy S22 Plus
- Version: 13
Further looking into value of the element:
base64 -d | od -t x1c
EgM83Q4AAAA=
0000000 12 03 3c dd 0e 00 00 00
022 003 < 335 016 \0 \0 \0
0000010
No combination of those hex digits resembles the hex value of the current date, which is 0x65AA13A4
I've just tested opening your database with KeePassDX 4.0.6 and I'm not having any problems. KeePassDX version 2.8.3 is extremely old, I've had to fix the problem since then, please update the application.
Thanks, I "upgraded" and it works, but upgrading meant installing the new and then uninstalling the old. It was treating it as two separate apps.
Anyway, thank you