Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7694457
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T21:19:31+00:00 2026-05-31T21:19:31+00:00

With the release of iOS 5 we are getting more and more errors when

  • 0

With the release of iOS 5 we are getting more and more errors when setting the serialized option for the sqlite database (so its save to be used for multithreading). We are getting SQLITE_MISUSE error code on sqlite3_config. Has someone noticed this odd behavior? And does someone know how I can fix this? It works perfectly fine on previous iOS versions.

here is the code:

- (sqlite3 *)getNewDBConnection {
    NSLog(@"sqlite3 lib version: %s", sqlite3_libversion());

    //sqlite3_config() has to be called before any sqlite3_open calls.

    if (sqlite3_threadsafe() > 0) {
        int retCode = sqlite3_config(SQLITE_CONFIG_SERIALIZED);
        if (retCode == SQLITE_OK) {
            NSLog(@"Can now use sqlite on multiple threads, using the same connection");
        } else {
            NSLog(@"setting sqlite thread safe mode to serialized failed!!! return code: %d", retCode);
        }
    } else {
        NSLog(@"Your SQLite database is not compiled to be threadsafe.");
    }

    sqlite3 *newDBconnection;

    // Open the database
    if (sqlite3_open([[self getDatabaseFilePath] UTF8String], &newDBconnection) == SQLITE_OK) {
        NSLog(@"Database Successfully Opened :)");
    } else {
        sqlite3_close(newDBconnection);
        NSLog(@"Error in opening database :(");
    }

    return newDBconnection; 
}

and this is the output:

sqlite3 lib version: 3.7.7
setting sqlite thread safe mode to serialized failed!!! return code: 21
Database Successfully Opened :)
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T21:19:33+00:00Added an answer on May 31, 2026 at 9:19 pm

    I struggled long and hard with this as well and finally got the solution.

    As @enobufs said, sqlite3_config() needs to be called before sqlite3_initialize(). However, the OS might initialize SQLite for us so I also do a sqlite3_shutdown() before the sqlite3_config().

    1. sqlite3_shutdown()
    2. sqlite3_config()
    3. sqlite3_initialize().

    Then its also necessary to use the same connection for every query as it is the access to the database connection that gets serialized. As described here http://www.sqlite.org/capi3ref.html#sqliteconfigserialized

    So I create a connection as soon as the app starts up and the pass that connection to every class that needs it.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to use custom TabBar colour. Afetr iOS 5 release I used the
How can i release the memory that I used for a variable (e.g. a
I am getting close to finishing the release of my application and are trying
I'm diving into iOS development and am getting familiar with the tools. At the
i'm about to release a mac app/ ios app combo. ie - an ios
We are contemplating changing the version number in the next release of an iOS
I'm developing a report engine for iOS devices which uses CoreData. I wish release
While testing my application in today's release of iOS 5.1 GM, I noticed that
I am getting the following error on pre-iOS 4.0 builds: The 'rootViewController' outlet of
I am nearing the release of an iOS app that syncs and otherwise interacts

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.