1

I've been testing my app for some time now without any problems. However, today I received a system update from T-Mobile on my myTouch 4G. My app, which uses SQLCipher now crashes on open with the following error:

01-23 20:43:37.200 E/AndroidRuntime(5534): FATAL EXCEPTION: main
01-23 20:43:37.200 E/AndroidRuntime(5534): java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1312]:  1235 cannot locate 'ucol_strcollIter_4_2'...
01-23 20:43:37.200 E/AndroidRuntime(5534): 
01-23 20:43:37.200 E/AndroidRuntime(5534):  at java.lang.Runtime.load(Runtime.java:394)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at java.lang.System.load(System.java:534)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at info.guardianproject.database.sqlcipher.SQLiteDatabase.loadLibs(SQLiteDatabase.java:123)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.app.myapp.datamanagement.DatabaseManager.open(DatabaseManager.java:62)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.app.myapp.datamanagement.DatabaseManager.<init>(DatabaseManager.java:58)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.app.myapp.datamanagement.DataManager.establishDatabase(DataManager.java:45)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.app.myapp.service.MainActivity.onCreate(NoteEditorDialogActivity.java:44)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1891)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1960)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.ActivityThread.access$1500(ActivityThread.java:145)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1045)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.os.Looper.loop(Looper.java:150)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at android.app.ActivityThread.main(ActivityThread.java:4369)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at java.lang.reflect.Method.invokeNative(Native Method)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at java.lang.reflect.Method.invoke(Method.java:507)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:846)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
01-23 20:43:37.200 E/AndroidRuntime(5534):  at dalvik.system.NativeStart.main(Native Method)

I haven't tried reinstalling the app yet because I needed to preserve this error to debugging purposes but I'm sure it will fix this problem. I do, however, need to know why this error is happening and how I can prevent it so when I do publish the app, others won't experience this fatal crash.

Note: The system update seemed to be a minor one because I stayed on 2.3.4 before and after the update.

Brian
  • 7,955
  • 16
  • 66
  • 107

2 Answers2

1

It seems you are missing depedency dlls (in your case 'ucol_strcollIter_4_2'....). Here is SO discussion regarding this error.

Community
  • 1
  • 1
kosa
  • 65,990
  • 13
  • 130
  • 167
  • Let me emphasize that this error was not happening before... only AFTER the system update did this error occur. So I want to know what a system update could have done to cause this problem. Do you know? – Brian Jan 24 '12 at 05:04
  • Yes. I strongly feel update might not have the required dll in place and causing this error. – kosa Jan 24 '12 at 05:06
0

First, you should post this question to the SQLCipher Google Group: http://groups.google.com/group/sqlcipher

Second, are you using the final release of SQLCipher v1 aka 0.0.6 from November? https://github.com/downloads/sqlcipher/android-database-sqlcipher/SQLCipherForAndroid-SDK-0.0.6-FINAL.zip

I ask because it looks like you are having an issue that relates to linking against specific internal libraries, that was more common in earlier version of SQLCipher for Android.

Please try the "NoteCipher" app in the Android Market, and let me know if that works, as well, since it also includes SQLCipher.

  • I caught myself and discovered that I am not using the newest version! I'm going to switch into the newer version but it's kind of going to be impossible to test this issue again because I can't just force a full OTA system update if it's already at the newest version. I'll take your word that 0.0.6 FINAL fixes this problems. Thanks a lot! – Brian Jan 25 '12 at 07:31