View Issue Details

IDProjectCategoryView StatusLast Update
0019578MMW 5DB / Backuppublic2023-10-14 20:14
ReporterLudek Assigned To 
PriorityurgentSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version5.0 
Target Version5.1Fixed in Version5.1 
Summary0019578: Improve error handling when DB cannot be accessed
DescriptionCurrently when DB cannot be accessed then Debug builds generates crash log -- which does not say nothing to users about the reasons.

- Rusty observed 0019559 where DB couldn't be accessed because of Disk I/O error
- LowLander observed crash when his M.2 drive loses drive letter. This caused MM to not have access to the DB on the drive.

Looking at the errors that could be handled that way (to be shown with message dialog + Retry button):
  SQLITE_BUSY = 5; // The database file is locked
  SQLITE_LOCKED = 6; // A table in the database is locked
  SQLITE_READONLY = 8; // Attempt to write a readonly database
  SQLITE_IOERR = 10; // Some kind of disk I/O error occurred
  SQLITE_CANTOPEN = 14; // Unable to open the database file
  SQLITE_NOTADB = 26; // File opened that is not a database file

I think that for all these errors we could show a common dialog like:
"Database file %s cannot be accessed."
"Error" <<error code>>
[Retry] [Cancel]

Note that "Database file %s cannot be accessed." would be a new string to translate. As "Error" already exists.

TagsNo tags attached.
Fixed in build2818

Relationships

related to 0019559 closedLudek Crash A35A0000 after testing auto-tagging (Disk I/O error) 
related to 0018288 closedLudek Deadlock: MM5 locks on startup and crashes on closing (regression 2501) 

Activities

Ludek

2022-11-21 19:56

developer   ~0070418

Assigned to Rusty to review the wording.

rusty

2023-10-03 21:13

administrator   ~0072983

Looks good, but wouldn't it be more useful if the actual error text displayed? e.g.

"Database file %s cannot be accessed."
"Error: [SQLITE_BUSY]

That gives tech savvy people a clue as to what's wrong, and lets less tech savvy people report the issue directly to tech support without the need for tech support to have to look up the error code.

Ludek

2023-10-09 12:03

developer   ~0073045

I found that we already have string "'Library database %s can''t be opened, please check the file is accessible and is not locked.'"

So I used that string and the error dialog looks like this:

Ludek

2023-10-09 12:04

developer   ~0073046

image.png (18,551 bytes)   
image.png (18,551 bytes)   

Ludek

2023-10-09 12:20

developer   ~0073047

Fixed in 5.1.0.2818

peke

2023-10-14 20:14

developer   ~0073112

Verified 2819