Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Login Flow v1 Crash #14457

Open
4 tasks done
alperozturk96 opened this issue Jan 23, 2025 · 0 comments
Open
4 tasks done

Login Flow v1 Crash #14457

alperozturk96 opened this issue Jan 23, 2025 · 0 comments
Assignees
Labels

Comments

@alperozturk96
Copy link
Collaborator

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. Try to open app in Android 8 with outdated WebView version

Expected behaviour

App should not crash. Since Login flow v2 is active and working, no need to use v1.

Actual behaviour

App is crashing

Android version

Android 8

Device brand and model

Emulator

Stock or custom OS?

Stock

Nextcloud android app version

3.31.0 RC1

Nextcloud server version

30.0.4

Using a reverse proxy?

I don't know

Android logs

E  Chromium WebView package does not exist
   android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
   	at android.webkit.WebViewFactory.getWebViewContextAndSetProvider(WebViewFactory.java:334)
   	at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:398)
   	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:211)
   	at android.webkit.WebView.getFactory(WebView.java:2467)
   	at android.webkit.WebView.ensureProviderCreated(WebView.java:2462)
   	at android.webkit.WebView.setOverScrollMode(WebView.java:2527)
   	at android.view.View.<init>(View.java:4536)
   	at android.view.View.<init>(View.java:4668)
   	at android.view.ViewGroup.<init>(ViewGroup.java:597)
   	at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
   	at android.webkit.WebView.<init>(WebView.java:636)
   	at android.webkit.WebView.<init>(WebView.java:581)
   	at android.webkit.WebView.<init>(WebView.java:564)
   	at android.webkit.WebView.<init>(WebView.java:551)
   	at java.lang.reflect.Constructor.newInstance0(Native Method)
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
   	at android.view.LayoutInflater.createView(LayoutInflater.java:647)
   	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
   	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
   	at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
   	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:55)
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:49)
   	at com.owncloud.android.authentication.AuthenticatorActivity.onGetServerInfoFinish(AuthenticatorActivity.java:1064)
   	at com.owncloud.android.authentication.AuthenticatorActivity.onRemoteOperationFinish(AuthenticatorActivity.java:978)
   	at com.owncloud.android.services.OperationsService.lambda$dispatchResultToOperationListeners$0(OperationsService.java:797)
   	at com.owncloud.android.services.OperationsService$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
   	at android.os.Handler.handleCallback(Handler.java:789)
   	at android.os.Handler.dispatchMessage(Handler.java:98)
   	at android.os.Looper.loop(Looper.java:164)
   	at android.app.ActivityThread.main(ActivityThread.java:6541)
   	at java.lang.reflect.Method.invoke(Native Method)
   	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
   	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

D  Shutting down VM
E  FATAL EXCEPTION: main
   Process: com.nextcloud.client, PID: 3021
   android.view.InflateException: Binary XML file line #20: Binary XML file line #20: Error inflating class android.webkit.WebView
   Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class android.webkit.WebView
   Caused by: java.lang.reflect.InvocationTargetException
   	at java.lang.reflect.Constructor.newInstance0(Native Method)
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
   	at android.view.LayoutInflater.createView(LayoutInflater.java:647)
   	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
   	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
   	at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
   	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:55)
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:49)
   	at com.owncloud.android.authentication.AuthenticatorActivity.onGetServerInfoFinish(AuthenticatorActivity.java:1064)
   	at com.owncloud.android.authentication.AuthenticatorActivity.onRemoteOperationFinish(AuthenticatorActivity.java:978)
   	at com.owncloud.android.services.OperationsService.lambda$dispatchResultToOperationListeners$0(OperationsService.java:797)
   	at com.owncloud.android.services.OperationsService$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
   	at android.os.Handler.handleCallback(Handler.java:789)
   	at android.os.Handler.dispatchMessage(Handler.java:98)
   	at android.os.Looper.loop(Looper.java:164)
   	at android.app.ActivityThread.main(ActivityThread.java:6541)
   	at java.lang.reflect.Method.invoke(Native Method)
   	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
   	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
   Caused by: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
   	at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:438)
   	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:211)
   	at android.webkit.WebView.getFactory(WebView.java:2467)
   	at android.webkit.WebView.ensureProviderCreated(WebView.java:2462)
   	at android.webkit.WebView.setOverScrollMode(WebView.java:2527)
   	at android.view.View.<init>(View.java:4536)
   	at android.view.View.<init>(View.java:4668)
   	at android.view.ViewGroup.<init>(ViewGroup.java:597)
   	at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55)
   	at android.webkit.WebView.<init>(WebView.java:636)
   	at android.webkit.WebView.<init>(WebView.java:581)
   	at android.webkit.WebView.<init>(WebView.java:564)
   	at android.webkit.WebView.<init>(WebView.java:551)
   	at java.lang.reflect.Constructor.newInstance0(Native Method) 
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:334) 
   	at android.view.LayoutInflater.createView(LayoutInflater.java:647) 
   	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
   	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) 
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
   	at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
   	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:55) 
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:49) 
   	at com.owncloud.android.authentication.AuthenticatorActivity.onGetServerInfoFinish(AuthenticatorActivity.java:1064) 
   	at com.owncloud.android.authentication.AuthenticatorActivity.onRemoteOperationFinish(AuthenticatorActivity.java:978) 
   	at com.owncloud.android.services.OperationsService.lambda$dispatchResultToOperationListeners$0(OperationsService.java:797) 
   	at com.owncloud.android.services.OperationsService$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) 
   	at android.os.Handler.handleCallback(Handler.java:789) 
   	at android.os.Handler.dispatchMessage(Handler.java:98) 
   	at android.os.Looper.loop(Looper.java:164) 
   	at android.app.ActivityThread.main(ActivityThread.java:6541) 
   	at java.lang.reflect.Method.invoke(Native Method) 
   	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
   	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
   Caused by: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
   	at android.webkit.WebViewFactory.getWebViewContextAndSetProvider(WebViewFactory.java:334)
   	at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:398)
   	at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:211) 
   	at android.webkit.WebView.getFactory(WebView.java:2467) 
   	at android.webkit.WebView.ensureProviderCreated(WebView.java:2462) 
   	at android.webkit.WebView.setOverScrollMode(WebView.java:2527) 
   	at android.view.View.<init>(View.java:4536) 
   	at android.view.View.<init>(View.java:4668) 
   	at android.view.ViewGroup.<init>(ViewGroup.java:597) 
   	at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:55) 
   	at android.webkit.WebView.<init>(WebView.java:636) 
   	at android.webkit.WebView.<init>(WebView.java:581) 
   	at android.webkit.WebView.<init>(WebView.java:564) 
   	at android.webkit.WebView.<init>(WebView.java:551) 
   	at java.lang.reflect.Constructor.newInstance0(Native Method) 
   	at java.lang.reflect.Constructor.newInstance(Constructor.java:334) 
   	at android.view.LayoutInflater.createView(LayoutInflater.java:647) 
   	at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
   	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720) 
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788) 
   	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
   	at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
   	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
   	at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:55) 
   	at com.owncloud.android.databinding.AccountSetupWebviewBinding.inflate(AccountSetupWebviewBinding.java:49) 
   	at com.owncloud.android.authentication.AuthenticatorActivity.onGetServerInfoFinish(AuthenticatorActivity.java:1064) 
   	at com.owncloud.android.authentication.AuthenticatorActivity.onRemoteOperationFinish(AuthenticatorActivity.java:978) 
   	at com.owncloud.android.services.OperationsService.lambda$dispatchResultToOperationListeners$0(OperationsService.java:797) 
   	at com.owncloud.android.services.OperationsService$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) 
   	at android.os.Handler.handleCallback(Handler.java:789) 
   	at android.os.Handler.dispatchMessage(Handler.java:98) 
   	at android.os.Looper.loop(Looper.java:164) 
   	at android.app.ActivityThread.main(ActivityThread.java:6541) 
   	at java.lang.reflect.Method.invoke(Native Method) 
   	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
   	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
E  Work [ id=488a6c92-a075-4bb4-939a-4a099d7ea1b7, tags={ com.nextcloud.client.jobs.MediaFoldersDetectionWork,*,name:periodic_media_folder_detection,timestamp:1737649367109,class:MediaFoldersDetectionWork } ] failed because it threw an exception/error
   java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=3302, uid=10061 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
   	at android.os.Parcel.readException(Parcel.java:1943)
   	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
   	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
   	at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)
   	at android.content.ContentResolver.query(ContentResolver.java:754)
   	at android.content.ContentResolver.query(ContentResolver.java:704)
   	at com.owncloud.android.datamodel.ContentResolverHelper.queryResolver(ContentResolverHelper.kt:54)
   	at com.owncloud.android.datamodel.MediaProvider.getImageFolders(MediaProvider.java:71)
   	at com.nextcloud.client.jobs.MediaFoldersDetectionWork.doWork(MediaFoldersDetectionWork.kt:83)
   	at androidx.work.Worker$startWork$1.invoke(Worker.kt:64)
   	at androidx.work.Worker$startWork$1.invoke(Worker.kt:64)
   	at androidx.work.WorkerKt.future$lambda$2$lambda$1(Worker.kt:100)
   	at androidx.work.WorkerKt.$r8$lambda$06LNzu7McnKR6G06fSbfQ2BCegc(Unknown Source:0)
   	at androidx.work.WorkerKt$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
   	at java.lang.Thread.run(Thread.java:764)
E  Work [ id=56b53910-216c-49ae-995b-62364e808600, tags={ com.nextcloud.client.jobs.MediaFoldersDetectionWork,*,name:immediate_media_folder_detection,timestamp:1737649367109,class:MediaFoldersDetectionWork } ] failed because it threw an exception/error
   java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=3302, uid=10061 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
   	at android.os.Parcel.readException(Parcel.java:1943)
   	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
   	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
   	at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)
   	at android.content.ContentResolver.query(ContentResolver.java:754)
   	at android.content.ContentResolver.query(ContentResolver.java:704)
   	at com.owncloud.android.datamodel.ContentResolverHelper.queryResolver(ContentResolverHelper.kt:54)
   	at com.owncloud.android.datamodel.MediaProvider.getImageFolders(MediaProvider.java:71)
   	at com.nextcloud.client.jobs.MediaFoldersDetectionWork.doWork(MediaFoldersDetectionWork.kt:83)
   	at androidx.work.Worker$startWork$1.invoke(Worker.kt:64)
   	at androidx.work.Worker$startWork$1.invoke(Worker.kt:64)
   	at androidx.work.WorkerKt.future$lambda$2$lambda$1(Worker.kt:100)
   	at androidx.work.WorkerKt.$r8$lambda$06LNzu7McnKR6G06fSbfQ2BCegc(Unknown Source:0)
   	at androidx.work.WorkerKt$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
   	at java.lang.Thread.run(Thread.java:764)

Server error logs

Additional information

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant