Improved error handling
Importing a KeePass databases with a large field (e.g. a 2048+ byte note) causes the client to crash. This is reproducible and a test case is posted in the comments below.
More investigation is required to determine exactly why (out of storage? Something about that particular entry?).
When debugging, the client was attempting to read data from the device and it seems to hang. In debug mode, this just waits forever. In release mode, it triggers a crash. We will have to turn on core dumps, cause a crash in release mode and then load the core file in gdb to do the analysis.
The backtrace pointed to code that is reading data from the device and has a TODO there about improving error handling.
Edited by Adam