title: Application crashes on installation with error sqlite3_exec - Failed to set synchronous mode = 1(Normal)
body: <p>I'm running my application on Samsung Note with android version 4.0.4.</p>
  
  <p>It's not crashing on devices like Samsung POP which is running android 2.2. And on Motorola Xoom running Androi 3.1.</p>
  
  <p>When I'm installing my application It shows black screen then after some time shows popup that application is stop, and my application splash screen loading behind this dialog when I press ok that dialog disappears and I can go to my Application login screen.</p>
  
  <pre><code>12-13 18:33:53.823: I/ActivityThread(14608): Pub com.android.mypype.urbanairship.provider: com.urbanairship.UrbanAirshipProvider
  12-13 18:33:53.833: I/Inside MyPype(14608):  Application Class
  12-13 18:33:54.423: D/myPype - UALib(14608): Airship Take Off! Lib Version: 2.0.1 / App key = xsXcmKOoRe6gog9onrQHjA
  12-13 18:33:54.423: D/myPype - UALib(14608): In Production? false
  12-13 18:33:54.713: D/myPype - UALib(14608): Initializing Push.
  12-13 18:33:54.718: D/myPype - UALib(14608): Initializing Analytics.
  12-13 18:33:54.938: I/SqliteDatabaseCpp(14608): sqlite returned: error code = 5, msg = database is locked, db=xxx
  
      12-12 11:57:09.553: E/SqliteDatabaseCpp(3608): sqlite3_exec - Failed to set synchronous mode = 1(Normal) 
      12-12 11:57:09.553: E/SQLiteDatabase(3608): Failed to open the database. closing it.
      12-12 11:57:09.553: E/SQLiteDatabase(3608): android.database.sqlite.SQLiteDatabaseLockedException: database is locked
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1132)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1083)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1170)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:844)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:228)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.urbanairship.analytics.EventDataManager.&lt;init&gt;(Unknown Source)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.urbanairship.analytics.Analytics.&lt;init&gt;(Unknown Source)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.urbanairship.UAirship.takeOff(Unknown Source)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.android.mypype.MypypeApplication.onCreate(MypypeApplication.java:133)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:972)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3965)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.ActivityThread.access$1300(ActivityThread.java:127)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.os.Handler.dispatchMessage(Handler.java:99)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.os.Looper.loop(Looper.java:137)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at android.app.ActivityThread.main(ActivityThread.java:4511)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at java.lang.reflect.Method.invokeNative(Native Method)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at java.lang.reflect.Method.invoke(Method.java:511)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
      12-12 11:57:09.553: E/SQLiteDatabase(3608):     at dalvik.system.NativeStart.main(Native Method)
      12-12 11:57:09.553: E/myPype - UALib(3608): Unable to open Analytics Event DB
  
  
      12-12 11:57:37.958: E/myPype - UALib(3608): Unable to get DB size. Database not open.
      12-12 11:57:37.963: E/myPype - UALib(3608): Unable to insert event. Database not open.
  </code></pre>
  
  <p>In above error why It's pointing to Application class Urbanairship.takeOff() method.</p>
  
  <p>I am searching for this issue but doesn't get anything yet. I am not able to figure it out. I tried synchronizing Locks on database operation in openHelper calss. </p>
  
  <p>any help will be appreciated.</p>
  
  <p>In my Application class I added below code to for Urbanairship.</p>
  
  <pre><code>  @Override
  public void onCreate() {
      // TODO Auto-generated method stub
      super.onCreate();
  // This can be done in code as illustrated here,
          // or you can add these settings to a properties file
          // called airshipconfig.properties
          // and place it in your "assets" folder
          AirshipConfigOptions options = AirshipConfigOptions
                  .loadDefaultOptions(this);
  
           // Take off initializes the services
  
  
          UAirship.takeOff(this, options);
  
          PushManager.enablePush();
  }
  </code></pre>