Skip to main content

-8600~-8611, -8624 (Mobile SDK Storage I/O Errors)

Notice

This document is a machine-translated draft and is currently undergoing review. Some content may be inaccurate or differ from the original Korean version. For the most precise information, refer to the Korean documentation.

These are file system errors that occur when the mobile SDK reads and writes downloaded files and databases (DB). The causes vary depending on file I/O and database status, so check your integration environment.

Error code list

Error codeTypeDescription
-8600ERROR_CREATE_DIRECTORYFailed to create directory
-8601ERROR_CREATE_FILEFailed to create file
-8602ERROR_SAVE_DATAFailed to save file data
-8603ERROR_OPEN_DBFailed to open DB file
-8604ERROR_CREATE_TABLEFailed to create DB table
-8605ERROR_SELECT_TABLEFailed to query DB table
-8606ERROR_DELETE_RECORDFailed to delete DB record
-8607ERROR_INSERT_RECORDFailed to insert DB record
-8608ERROR_OPEN_FILEFailed to open file
-8609ERROR_OUT_OF_MEMORYProcessing failed due to insufficient memory
-8610ERROR_READ_FILEFailed to read file
-8611ERROR_WRITE_FILEFailed to write file
-8624ERROR_UPDATE_RECORDFailed to update DB record

Cause a: no storage access permission

This occurs when the application does not have physical permission to access the device's external storage (SD card) or a specific directory to write data.

  • Android: In Android 6.0 (API 23) or later environments, runtime permission was not explicitly obtained, or direct access to external storage is restricted due to the Scoped Storage security policy in Android 10 (API 29) or later.
  • iOS: The KollusStorage storage path was incorrectly set to an external path with restricted security permissions, rather than to an internal path within the system app sandbox (Documents, Library folders, etc.).

Diagnosis and resolution

  • Android: Check the current external storage write permission status of the application and understand the media storage access policy for the target API version.
// Android 6.0 or later - Check whether runtime permission has been granted
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// Request permission from the user
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQ_CODE);
}
  • iOS: Verify that the storage path configuration of the KollusStorage instance is correct.

Cause b: insufficient device storage space

This occurs when there is no storage space on the device and file creation and writing are not possible. If a download is requested when storage space is insufficient, this error code is returned along with the -8623 (ERROR_STORAGE_FULL) error.

Resolution

Before starting a download, check the available free space on the device in advance by referring to the examples below.

  • Android
long available = new File(downloadPath).getUsableSpace();
// Check if available space is sufficient before starting the download
  • iOS
let freeSpace = DiskStatus.freeDiskSpaceInBytes
if freeSpace < requiredBytes {
// Notify the user of insufficient device storage space
}

User notification (example)

"Storage space is insufficient. Please delete unnecessary files and try again."


Cause c: db file corruption

This occurs when the internal SQLite database is corrupted due to a forced app termination or abnormal shutdown, or physical disconnection of storage during a download (forced removal of an external SD card). It is mainly returned as -8603 (DB open failure) and -8604 (table creation failure) patterns.

Resolution

You must delete the corrupted DB file and trigger the re-initialization logic. This process resets the list of downloaded content, so users should be prompted to re-download.

  • Android: Release the KollusStorage instance → Delete the DB file → Re-create
// Create Android DB file object and delete the file
File dbFile = new File(context.getFilesDir(), "kollus_storage.db");
if (dbFile.exists()) dbFile.delete();
// Re-initialize KollusStorage after deletion

User notification (example)

"A data error has occurred. Please restart the app or re-download the content."


Common diagnosis guide

When an I/O exception error occurs, use the checklist below to identify the issue and respond accordingly.

  1. Did the -8623 (ERROR_STORAGE_FULL) error occur at the same time?
  2. Did the error occur right after the first installation or after updating the Android version?
  3. Did the error suddenly occur on a device that was previously working normally?
  4. Does the issue not fall into any of the above three categories?
    • Collect the detailed error code, device OS version, device model name, and reproduction steps, then contact Technical Support(tech_support@catenoid.net).