cancel
Showing results for 
Search instead for 
Did you mean: 

Ultralite i/o errors 200019 200020

Former Member
2,268

Hello everyone,

We have a very complex android application where we use Utlralite 16 and Mobilink 16 as DBMS/sync products.

The field has reported some I/O errors while using the device and despite looking at the documentation (http://dcx.sap.com/index.html#sa160/en/saerrors/errm305.html), we don't really get what can be the root cause of this and help would be greatly appreciated.

Those come in two flavors : - I/O Error 200019 - I/O Error 200020

The devices concerned still have free space on the disk and we ensure a device goes not to sleep by taking a partial wake lock.

Does anybody have any idea of what's going on under the hood / have already experienced such errors ?

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

As Chris commented, these indicate a read or a write error -- meaning the system call returned an error code when UltraLite tried to read or write a page in the database or temporary file.

These do not indicate any database/SQL level issues, like locking or uncommitted transactions or indexing operations.

These do not necessarily indicate a corrupt database. When UltraLite receives the error, it will suspend operations on the database file in order to avoid corruption. When restarted, the database will recover to the last committed transaction. The error could be transient or recurring, depending on the cause.

Typically this is caused by some kind of hardware or file system problem.

If the application/database is restarted, does the error occur again? (Note that if you don't close and reopen the database, the same error will be reported on subsequent database requests because the database is locked. All open connections must be closed.)

The ulvalid utility can detect and provide information about some kinds of database corruption.

Historically we have seen many surprising problems with SD cards. It is probably worth trying a different card to see if it affects the error (if you are able to swap it on your devices).

Former Member
0 Kudos

Mr McClements and Keating, thanks for your answers.

Actually, the application crashed due to a write error and then restarted. When it restarted, it crashed again due to a read error. We do not release all the connections when such a crash occurs. Just the concerned one. We will then try to do so and see if we can recover.