Skip to content

App crashes while doing background database operations #1042

Closed
@crspybits

Description

@crspybits

Build Information

  • Include the SQLite.swift version, commit or branch experiencing the issue.
    0.12.2

  • Mention Xcode and OS X versions affected.
    iOS 14, Xcode 12.4

  • How do do you integrate SQLite.swift in your project?

  • Swift Package manager

I am deploying test builds of my app on TestFlight. The app is designed to use background URLSession's to do uploading/downloading from a server while the app is in the background.

I'm fairly regularly getting crashes of the app when it goes into the background. Crash reports in Xcode are indicating this is occurring in SQLite code. Here are two examples:

Screen Shot 2021-03-13 at 12 42 17 PM

Screen Shot 2021-03-13 at 12 42 44 PM

I have taken the step of removing security access on the file being used by the database:

extension URL {
    func enableAccessInBackground() {
        /* By default, the NSFileProtectionKey is NSFileProtectionCompleteUntilFirstUserAuthentication and I think this is causing app crashes when it goes into the background.
         */
        let attributes = [ FileAttributeKey.protectionKey : FileProtectionType.none ]
        do {
            try FileManager.default.setAttributes(attributes, ofItemAtPath: path)
            let attr = try FileManager.default.attributesOfItem(atPath: path)
            logger.debug("SQLite db: attr: \(attr)")
        } catch let error {
            logger.error("\(error)")
        }
    }
}

Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions