AndBible / and-bible

AndBible: Bible Study
https://andbible.org
GNU General Public License v3.0
576 stars 193 forks source link

Issue with restoring db #2076

Open tuomas2 opened 2 years ago

tuomas2 commented 2 years ago

https://support.andbible.org/scp/tickets.php?id=1242

Having difficulty restoring a db file. It is attached. It's not causing an app crash, I just can't get it to load the data (db file from another device than what the attached log shows)

tuomas2 commented 2 years ago

I could not reproduce the issue with the provided db.

Log file reports of some warnings / errors like this:

01-26 21:05:40.142 16836 16836 I WebViewFactory: Loading com.android.chrome version 97.0.4692.87 (code 469208723)
01-26 21:05:40.264 16836 16836 I art     : Rejecting re-init on previously-failed class java.lang.Class<fB2>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/PacProcessor;
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class android.webkit.WebViewFactory.getProviderClass() (WebViewFactory.java:350)
01-26 21:05:40.264 16836 16836 I art     :   at android.webkit.WebViewFactoryProvider android.webkit.WebViewFactory.getProvider() (WebViewFactory.java:195)
01-26 21:05:40.264 16836 16836 I art     :   at android.webkit.WebViewFactoryProvider android.webkit.WebView.getFactory() (WebView.java:2360)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.ensureProviderCreated() (WebView.java:2355)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.setOverScrollMode(int) (WebView.java:2414)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.View.<init>(android.content.Context) (View.java:4032)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.View.<init>(android.content.Context, android.util.AttributeSet, int, int) (View.java:4155)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.ViewGroup.<init>(android.content.Context, android.util.AttributeSet, int, int) (ViewGroup.java:579)
01-26 21:05:40.264 16836 16836 I art     :   at void android.widget.AbsoluteLayout.<init>(android.content.Context, android.util.AttributeSet, int, int) (AbsoluteLayout.java:55)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:632)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:577)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:560)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:547)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:537)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.BibleView.<init>(net.bible.android.view.activity.page.MainBibleActivity, java.lang.ref.WeakReference, net.bible.android.control.page.window.WindowControl, net.bible.android.control.page.PageControl, net.bible.android.control.page.PageTiltScrollControl, net.bible.android.control.link.LinkControl, net.bible.android.control.bookmark.BookmarkControl, net.bible.android.control.download.DownloadControl) (BibleView.kt:193)
01-26 21:05:40.264 16836 16836 I art     :   at net.bible.android.view.activity.page.BibleView net.bible.android.view.activity.page.BibleViewFactory.getOrCreateBibleView(net.bible.android.control.page.window.Window) (BibleViewFactory.kt:65)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.BibleFrame.build() (BibleFrame.kt:144)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.BibleFrame.<init>(net.bible.android.control.page.window.Window, net.bible.android.view.activity.page.screen.SplitBibleArea) (BibleFrame.kt:130)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.SplitBibleArea.updateWindows() (SplitBibleArea.kt:213)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.SplitBibleArea.update(boolean) (SplitBibleArea.kt:165)
01-26 21:05:40.264 16836 16836 I art     :   at net.bible.android.view.activity.page.screen.SplitBibleArea net.bible.android.view.activity.page.screen.DocumentViewManager.buildWebViews(boolean) (DocumentViewManager.kt:78)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.DocumentViewManager.buildView(boolean) (DocumentViewManager.kt:84)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.DocumentViewManager.buildView$default(net.bible.android.view.activity.page.screen.DocumentViewManager, boolean, int, java.lang.Object) (DocumentViewManager.kt:83)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.MainBibleActivity.onCreate(android.os.Bundle) (MainBibleActivity.kt:234)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6855)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
01-26 21:05:40.264 16836 16836 I art     :   at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2656)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2764)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1510)
01-26 21:05:40.264 16836 16836 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
01-26 21:05:40.264 16836 16836 I art     :   at void android.os.Looper.loop() (Looper.java:154)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6157)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
01-26 21:05:40.264 16836 16836 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:926)
01-26 21:05:40.264 16836 16836 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:788)
01-26 21:05:40.264 16836 16836 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.PacProcessor" on path: DexPathList[[zip file "/data/app/com.android.chrome-2/base.apk", zip file "/data/app/com.android.chrome-2/split_cablev2_authenticator.apk", zip file "/data/app/com.android.chrome-2/split_chrome.apk", zip file "/data/app/com.android.chrome-2/split_config.en.apk", zip file "/data/app/com.android.chrome-2/split_extra_icu.apk", zip file "/data/app/com.android.chrome-2/split_feedv2.apk", zip file "/data/app/com.android.chrome-2/split_weblayer.apk"],nativeLibraryDirectories=[/data/app/com.android.chrome-2/lib/arm64, /data/app/com.android.chrome-2/base.apk!/lib/arm64-v8a, /data/app/com.android.chrome-2/split_cablev2_authenticator.apk!/lib/arm64-v8a, /data/app/com.android.chrome-2/split_chrome.apk!/lib/arm64-v8a, /data/app/com.android.chrome-2/split_config.en.apk!/lib/arm64-v8a, /data/app/com.android.chrome-2/split_extra_icu.apk!/lib/arm64-v8a, /data/app/com.android.chrome-2/split_feedv2.apk!/lib/arm64-v8a, /data/ap
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Class android.webkit.WebViewFactory.getProviderClass() (WebViewFactory.java:350)
01-26 21:05:40.264 16836 16836 I art     :   at android.webkit.WebViewFactoryProvider android.webkit.WebViewFactory.getProvider() (WebViewFactory.java:195)
01-26 21:05:40.264 16836 16836 I art     :   at android.webkit.WebViewFactoryProvider android.webkit.WebView.getFactory() (WebView.java:2360)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.ensureProviderCreated() (WebView.java:2355)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.setOverScrollMode(int) (WebView.java:2414)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.View.<init>(android.content.Context) (View.java:4032)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.View.<init>(android.content.Context, android.util.AttributeSet, int, int) (View.java:4155)
01-26 21:05:40.264 16836 16836 I art     :   at void android.view.ViewGroup.<init>(android.content.Context, android.util.AttributeSet, int, int) (ViewGroup.java:579)
01-26 21:05:40.264 16836 16836 I art     :   at void android.widget.AbsoluteLayout.<init>(android.content.Context, android.util.AttributeSet, int, int) (AbsoluteLayout.java:55)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:632)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:577)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:560)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:547)
01-26 21:05:40.264 16836 16836 I art     :   at void android.webkit.WebView.<init>(android.content.Context) (WebView.java:537)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.BibleView.<init>(net.bible.android.view.activity.page.MainBibleActivity, java.lang.ref.WeakReference, net.bible.android.control.page.window.WindowControl, net.bible.android.control.page.PageControl, net.bible.android.control.page.PageTiltScrollControl, net.bible.android.control.link.LinkControl, net.bible.android.control.bookmark.BookmarkControl, net.bible.android.control.download.DownloadControl) (BibleView.kt:193)
01-26 21:05:40.264 16836 16836 I art     :   at net.bible.android.view.activity.page.BibleView net.bible.android.view.activity.page.BibleViewFactory.getOrCreateBibleView(net.bible.android.control.page.window.Window) (BibleViewFactory.kt:65)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.BibleFrame.build() (BibleFrame.kt:144)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.BibleFrame.<init>(net.bible.android.control.page.window.Window, net.bible.android.view.activity.page.screen.SplitBibleArea) (BibleFrame.kt:130)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.SplitBibleArea.updateWindows() (SplitBibleArea.kt:213)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.SplitBibleArea.update(boolean) (SplitBibleArea.kt:165)
01-26 21:05:40.264 16836 16836 I art     :   at net.bible.android.view.activity.page.screen.SplitBibleArea net.bible.android.view.activity.page.screen.DocumentViewManager.buildWebViews(boolean) (DocumentViewManager.kt:78)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.DocumentViewManager.buildView(boolean) (DocumentViewManager.kt:84)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.screen.DocumentViewManager.buildView$default(net.bible.android.view.activity.page.screen.DocumentViewManager, boolean, int, java.lang.Object) (DocumentViewManager.kt:83)
01-26 21:05:40.264 16836 16836 I art     :   at void net.bible.android.view.activity.page.MainBibleActivity.onCreate(android.os.Bundle) (MainBibleActivity.kt:234)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6855)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
01-26 21:05:40.264 16836 16836 I art     :   at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2656)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2764)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1510)
01-26 21:05:40.264 16836 16836 I art     :   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
01-26 21:05:40.264 16836 16836 I art     :   at void android.os.Looper.loop() (Looper.java:154)
01-26 21:05:40.264 16836 16836 I art     :   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6157)
01-26 21:05:40.264 16836 16836 I art     :   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
01-26 21:05:40.264 16836 16836 I art     :   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:926)
01-26 21:05:40.264 16836 16836 I art     :   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:788)
01-26 21:05:40.264 16836 16836 I art     : 
mattschlosser commented 2 years ago

I found this: https://stackoverflow.com/a/70867926/4962949

I'm experiencing the same exception and immense stack trace when using WebView in my app at runtime, depending on the software versions installed on the device:

Chrome Versions:

96.0.4664.92 / .104 - ok, no errors
97.0.4692.98 - errors, see below

Android Versions:

Android 7 -> NoClassDefFoundError for android.webkit.TracingController
Android 9 -> NoClassDefFoundError for android.webkit.PacProcessor
Android 12 -> no such errors

According to your description and stack trace, you see this error at runtime, not at compile time, right? So, I would recommend to

test on an Android 12 target or
install an older Chrome version
tuomas2 commented 2 years ago

It looks like these "errors" are unrelated and non-fatal (do not cause crash etc). Seems like my phone is producing these lines all the time these days...