question

alexander001 avatar image
alexander001 asked

Korean language crash

Hi, A game we develop crashes during initialization of GameCircle SDK if Korean locale is selected. I know that Korean is not officially supported, but there is a way for a user to select this language. Here is an app a player can use to select Korean locale, even if it is not supported: http://www.amazon.com/Softwaredesign-Select-language-and-locale/dp/B005PPUYGA The game works fine if another locale is selected: Russian, Turkish, Traditional Chinese or Dutch. We did an investigation, so it might be useful. The problem is the following call: void com.amazon.ags.api.AmazonGamesClient.initialize(Activity, AmazonGamesCallback, EnumSet ) We use “AmazonGamesFeature.Achievements” only as the last argument. Crash occurs during an attempt to open database, on Android level. Here is the exact place into Android sources were it happens, the calls sequence: android.database.sqlite.SQLiteConnection::setLocaleFromConfiguration() http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/database/sqlite/SQLiteConnection.java#SQLiteConnection.setLocaleFromConfiguration%28%29 android.database.sqlite.SQLiteConnection.java::nativeRegisterLocalizedCollators(int connectionPtr, String locale) http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/database/sqlite/SQLiteConnection.java#SQLiteConnection.nativeRegisterLocalizedCollators%28int%2Cjava.lang.String%29 android_database_SQLiteConnection.cpp::nativeRegisterLocalizedCollators(JNIEnv* env, jclass clazz, jint connectionPtr, jstring localeStr) Line 269 @ https://code.google.com/p/android-source-browsing/source/browse/core/jni/android_database_SQLiteConnection.cpp?repo=platform--frameworks--base&name=android-4.2.2_r1.2 ???::register_localized_collators(…) ??? // cannot find the sources return from the function above, then // (result != SQLITE_OK) cause to throw All mentioned databases are existing and have R/W permissions: adb shell run-as ***package_name*** ls -l /data/data/***package_name***/databases/ -rw-rw---- u0_a5 u0_a5 28672 2014-01-29 20:03 AchievementsCache -rw------- u0_a5 u0_a5 16928 2014-01-29 20:03 AchievementsCache-journal -rw-rw---- u0_a5 u0_a5 20480 2014-01-29 20:03 PlayerProfileCache -rw------- u0_a5 u0_a5 12824 2014-01-29 20:03 PlayerProfileCache-journal -rw-rw---- u0_a5 u0_a5 20480 2014-01-29 20:03 SettingsCache -rw------- u0_a5 u0_a5 12824 2014-01-29 20:03 SettingsCache-journal -rw-rw---- u0_a5 u0_a5 20480 2014-01-29 20:03 offlineEvents -rw------- u0_a5 u0_a5 8720 2014-01-29 20:03 offlineEvents-journal -rw------- u0_a5 u0_a5 0 2014-01-29 20:12 webview.db -rw-rw---- u0_a5 u0_a5 0 2014-01-29 19:51 webviewCookiesChromium.db Here is the crash log copy-paste: 01-29 20:12:19.501: E/SQLiteDatabase(7901): Failed to open database '/data/data/***package_name***/databases/webview.db'. 01-29 20:12:19.501: E/SQLiteDatabase(7901): android.database.sqlite.SQLiteException: not an error (code 0) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnection.nativeRegisterLocalizedCollators(Native Method) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:354) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1132) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1121) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:250) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.webkit.WebViewDatabaseClassic.initDatabase(WebViewDatabaseClassic.java:146) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.webkit.WebViewDatabaseClassic.init(WebViewDatabaseClassic.java:130) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.webkit.WebViewDatabaseClassic.access$000(WebViewDatabaseClassic.java:35) 01-29 20:12:19.501: E/SQLiteDatabase(7901): at android.webkit.WebViewDatabaseClassic$1.run(WebViewDatabaseClassic.java:109) 01-29 20:12:19.501: I/com.amazon.identity.auth.device.appid.APIKeyDecoder(7901): perm has no mapping in json, returning null array 01-29 20:12:19.501: W/dalvikvm(7901): threadid=29: thread exiting with uncaught exception (group=0x40ea4ac8) 01-29 20:12:19.501: I/com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager(7901): ***package_name*** calling getAppId 01-29 20:12:19.501: I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier(7901): getAppInfo : packageName=***package_name*** 01-29 20:12:19.501: I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier(7901): Finding API Key for ***package_name*** 01-29 20:12:19.501: I/com.amazon.identity.auth.device.utils.ThirdPartyResourceParser(7901): Attempting to parse API Key from assets directory 01-29 20:12:19.501: I/com.amazon.identity.auth.device.appid.APIKeyDecoder(7901): Begin decoding API Key for packageName=***package_name*** 01-29 20:12:19.501: E/AndroidRuntime(7901): FATAL EXCEPTION: Thread-432 01-29 20:12:19.501: E/AndroidRuntime(7901): java.lang.Error: FATAL EXCEPTION [Thread-432] 01-29 20:12:19.501: E/AndroidRuntime(7901): Unity version : 4.2.1f4 01-29 20:12:19.501: E/AndroidRuntime(7901): Device model : Amazon KFTHWI 01-29 20:12:19.501: E/AndroidRuntime(7901): Device fingerprint: Amazon/thor/thor:4.2.2/JDQ39/13.3.1.0_user_310079820:user/release-keys 01-29 20:12:19.501: E/AndroidRuntime(7901): Caused by: android.database.sqlite.SQLiteException: not an error (code 0) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnection.nativeRegisterLocalizedCollators(Native Method) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:354) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1132) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1121) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:250) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.webkit.WebViewDatabaseClassic.initDatabase(WebViewDatabaseClassic.java:146) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.webkit.WebViewDatabaseClassic.init(WebViewDatabaseClassic.java:130) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.webkit.WebViewDatabaseClassic.access$000(WebViewDatabaseClassic.java:35) 01-29 20:12:19.501: E/AndroidRuntime(7901): at android.webkit.WebViewDatabaseClassic$1.run(WebViewDatabaseClassic.java:109) - Alexander
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

0 Answers