Closed Mr-KayJayDee closed 3 years ago
Can you tell us when this happens?
It happened after I logged in, the app tried to load my files from my server.
I'm having the same, also on OnePlus (OnePlus 8 Pro in my case). This is the crash report:
**** CAUSE OF ERROR ****
java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter password at okhttp3.Credentials.basic(Unknown Source:8) at okhttp3.Credentials.basic$default(Credentials.kt:28) at okhttp3.Credentials.basic(Unknown Source:2) at com.owncloud.android.lib.common.OwnCloudClientFactory.createNextcloudClient(OwnCloudClientFactory.java:217) at com.owncloud.android.operations.RefreshFolderOperation.updatePredefinedStatus(RefreshFolderOperation.java:338) at com.owncloud.android.operations.RefreshFolderOperation.updateCapabilities(RefreshFolderOperation.java:311) at com.owncloud.android.operations.RefreshFolderOperation.updateOCVersion(RefreshFolderOperation.java:277) at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:230) at com.owncloud.android.lib.common.operations.RemoteOperation.run(RemoteOperation.java:359) at java.lang.Thread.run(Thread.java:923)
**** APP INFORMATION **** ID: com.nextcloud.client Version: 30160090 Build flavor: gplay
**** DEVICE INFORMATION **** Brand: OnePlus Device: OnePlus8Pro Model: IN2023 Id: RP1A.201005.001 Product: OnePlus8Pro_EEA
**** FIRMWARE **** SDK: 30 Release: 11 Incremental: 2103221755
Let me know if I can post anything else to help debug this.
Further info: The crash only happens when I have the "nextcloud05.webo.cloud" account selected. If I quickly change the account (when the app is loading) to my "us.cloudamo.com" account, the error does not occur. When I then visited nextcloud05.webo.cloud manually, this message showed: "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." Thus, my guess is that my free account at webo.cloud was either disabled, or hit some other limitation, causing either the sign-in to be rejected, or the sign-in process to error out part-way. (I can't confirm if my account is still active atm because manual sign-in also keeps being rejected, with the message: "Too many requests. There were too many requests from your network. Retry later or contact your administrator if this is an error.") That said, it would be good of the Nextcloud system can gracefully handle rejected/errored sign in attempts (and present a useful message), rather than the current error popup.
I received the crash report as well ([#8437]). The crash report kept appearing every time I opened the app. I was unable to access Nextcloud via App.
I uninstalled the app and installed it again.
I also see "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." now when I want to login through the app.
When I try to login via the reinstalled app, I get until "Grant access". After I press it, the circle right to "Grant access" button appears indicating it is working. However, it never finishes. When I touch the screen wildly, touching "Grant access" button repeatedly it jumps back to the Login screen.
When I login via Browser (firefox) on the mobile I also get the "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds.". Logging in is successful there.
I also seem to be getting a "Access Forbidden\nInvalid request" from time to time in the app after trying to log in (before grant access).
What login name do you use? Is it a email?
Can you create us a test account, test if the problem occurs also there and if so send the credentials to tobias at nextcloud dot com with a reference to this issue?
So I thought it would be connected to brute force. Therefore I enabled it, had 30s timeout and connected a new installed app. It works without any problems.
What kind of user backend do you have? I am really clueless here…
There is an APK file in PR https://github.com/nextcloud/android/pull/8494#issuecomment-850209116, which you can install in parallel to your existing Nextcloud app.
Can someone install it, see if it crashes and also post logcat?
Can you provide us additional infos via logcat? https://github.com/nextcloud/android/blob/master/README.md#getting-debug-info-via-logcat
What login name do you use? Is it a email?
It is simply the username which I use to login.
So I thought it would be connected to brute force. Therefore I enabled it, had 30s timeout and connected a new installed app. It works without any problems.
What kind of user backend do you have? I am really clueless here…
I do not have brute force app enabled.
It's a Raspberry Pi running Nextcloud in a Docker container.
I just tried it again and it worked. Very odd. The server experienced a reboot some time ago. Perhaps that solved it??..
May be fixable with this PR: https://github.com/nextcloud/android-library/pull/638
I have today encountered substantially the same crash as reported originally:
************ CAUSE OF ERROR ************
java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter password
at okhttp3.Credentials.basic(Unknown Source:8)
at okhttp3.Credentials.basic$default(Credentials.kt:28)
at okhttp3.Credentials.basic(Unknown Source:2)
at com.owncloud.android.lib.common.OwnCloudClientFactory.createNextcloudClient(OwnCloudClientFactory.java:217)
at com.owncloud.android.operations.RefreshFolderOperation.updatePredefinedStatus(RefreshFolderOperation.java:338)
at com.owncloud.android.operations.RefreshFolderOperation.updateCapabilities(RefreshFolderOperation.java:311)
at com.owncloud.android.operations.RefreshFolderOperation.updateOCVersion(RefreshFolderOperation.java:277)
at com.owncloud.android.operations.RefreshFolderOperation.run(RefreshFolderOperation.java:230)
at com.owncloud.android.lib.common.operations.RemoteOperation.run(RemoteOperation.java:359)
at java.lang.Thread.run(Thread.java:764)
************ APP INFORMATION ************
ID: com.nextcloud.client
Version: 30160190
Build flavor: generic
************ DEVICE INFORMATION ************
Brand: google
Device: bullhead
Model: Nexus 5X
Id: OPM2.171026.006.H1
Product: bullhead
************ FIRMWARE ************
SDK: 27
Release: 8.1.0
Incremental: a477551705
This version (“3.16.1”) is the latest stable Nextcloud release in F-Droid (at 2021-06-05), and is the current “Suggested” version.
If it matters: currently the server is presenting a self-signed SSL certificate; this is necessary while testing all the connectivity, and the app should allow self-signed certificates to be accepted.
(This seems to be the same behaviour as #7996, and AFAICT my comment there applies here too.)
Don't know how helpful this is, but in my case it was the app 'circles' that produced this error 🤷♂️
Okay, I've dug through my logs and found this: This only happens with AD/LDAP Accounts and I think it is caused by the use of the username instead of the GUID, though I could be wrong.
This only happens with AD/LDAP Accounts
fyi: Mine was a local user on nextcloud ; ).
The problem occurs even if the phone is in flight mode.
If I quickly change the account (when the app is loading) to my "us.cloudamo.com" account, the error does not occur.
For me, quickly changing the account was not possible; the error occurs too fast.
Using the system preferences to remove the account that is active when the problem occurs worked for me - after that, i was able to open and use the Nextcloud App with the other account. I will have to add the removed account again now.
so is there a fix or work around for this issue, i can say the issue is a none issue on the iphone app.
This also happens for me with version 30160190. I believe this started after upgrading my server to 20.0.11
When I touch "Grant Access >" this shows up in the server log:
Info no app in context Deprecated event type for app_password_created: Symfony\Component\EventDispatcher\GenericEvent is used
adb logcat says:
07-22 21:49:24.586 10799 10799 D OperationsService: Starting command with id 3
07-22 21:49:24.591 10799 19570 D OwnCloudClient #0: REQUEST GET /nextcloud/status.php
07-22 21:49:24.595 10799 19570 D AdvancedSslSocketFactory: Creating SSL Socket with remote www.myhostname.com:443, local null:0, params: org.apache.commons.httpclient.params.HttpConnectionParams@ac943f5
07-22 21:49:24.595 10799 19570 D AdvancedSslSocketFactory: ... with connection timeout 50000 and socket timeout 60000
07-22 21:49:24.604 10799 19570 I ServerNameIndicator: SNI done, hostname: www.myhostname.com
07-22 21:49:24.716 10799 19570 W HttpMethodBase: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
07-22 21:49:24.720 10799 19570 I GetStatusRemoteOperation: Connection check at https://www.myhostname.com/nextcloud: Operation finished with HTTP status code -1 (success)
07-22 21:49:24.720 10799 19570 D GetServerInfoOperation: Trying empty authorization to detect authentication method
07-22 21:49:24.722 10799 19570 D OwnCloudClient #0: REQUEST HEAD /nextcloud/remote.php/webdav/
07-22 21:49:24.868 10799 19570 I AuthChallengeProcessor: basic authentication scheme selected
07-22 21:49:24.870 10799 19570 I HttpMethodDirector: No credentials available for BASIC 'Nextcloud'@www.myhostname.com:443
07-22 21:49:24.872 10799 19570 D ExistenceCheckRemoteOperation: Existence check for https://www.myhostname.com/nextcloud/remote.php/webdav/ targeting for existence finished with HTTP status 401(FAIL)
07-22 21:49:24.872 10799 19570 D DetectAuthenticationMethodOperation: Authentication method found: BASIC_HTTP_AUTH
07-22 21:49:24.873 10799 19570 D OperationsService: Called 1 listeners
07-22 21:49:24.873 10799 19570 D OperationsService: Stopping after command with id 3
07-22 21:49:24.885 10799 20281 D OwnCloudClient #10: Creating OwnCloudClient
07-22 21:49:24.909 10799 20281 D OwnCloudClient #10: REQUEST HEAD /nextcloud/remote.php/webdav/
07-22 21:49:25.009 10799 20281 I AuthChallengeProcessor: Basic authentication scheme selected
07-22 21:49:25.009 10799 20281 I HttpMethodDirector: Failure authenticating with BASIC 'Nextcloud'@www.myhostname.com:443
07-22 21:49:25.010 10799 20281 D ExistenceCheckRemoteOperation: Existence check for https://www.myhostname.com/nextcloud/remote.php/webdav/ targeting for existence finished with HTTP status 401(FAIL)
07-22 21:49:25.038 10799 10799 D AuthenticatorActivity: Access failed: Operation finished with HTTP status code 401 (fail)
07-22 21:49:25.157 10799 10799 I chromium: [INFO:CONSOLE(0)] "Error with Feature-Policy header: Unrecognized feature: 'payment'.", source: https://www.myhostname.com/nextcloud/index.php/login/flow (0)
07-22 21:49:25.170 10799 10799 I chromium: [INFO:CONSOLE(3)] "webauthnbridge start execution", source: (3)
07-22 21:49:25.170 10799 10799 I chromium: [INFO:CONSOLE(123)] "webauthnbridge end execution", source: (123)
07-22 21:49:25.171 10799 10799 I chromium: [INFO:CONSOLE(6)] "fidobridge start execution", source: (6)
07-22 21:49:25.171 10799 10799 I chromium: [INFO:CONSOLE(75)] "fidobridge end execution", source: (75)
07-22 21:49:25.260 10799 10799 I chromium: [INFO:CONSOLE(1)] "No OC found", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.275 10799 10799 I chromium: [INFO:CONSOLE(1)] "JQMIGRATE: Migrate is installed, version 1.4.1", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.324 10799 10799 I chromium: [INFO:CONSOLE(1)] "jQuery is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.324 10799 10799 I chromium: [INFO:CONSOLE(1)] "$ is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.325 10799 10799 I chromium: [INFO:CONSOLE(1)] "$ is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.326 10799 10799 I chromium: [INFO:CONSOLE(1)] "jQuery is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.327 10799 10799 I chatty : uid=10205(com.nextcloud.client) identical 1 line
07-22 21:49:25.328 10799 10799 I chromium: [INFO:CONSOLE(1)] "jQuery is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.328 10799 10799 I chromium: [INFO:CONSOLE(1)] "session heartbeat polling started", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.330 10799 10799 I chromium: [INFO:CONSOLE(1)] "$ is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
07-22 21:49:25.334 10799 10799 I chatty : uid=10205(com.nextcloud.client) identical 1 line
07-22 21:49:25.334 10799 10799 I chromium: [INFO:CONSOLE(1)] "$ is deprecated: The global jQuery is deprecated. It will be updated to v3.x in Nextcloud 21. In later versions of Nextcloud it might be removed completely. Please ship your own.", source: https://www.myhostname.com/nextcloud/core/js/dist/main.js?v=ac4cad0b-20 (1)
Apache's log says this after touching "Grant Access":
fcd4:eeaf:b23e:8c9:ab84:d0cf:3f64:c55d - - [22/Jul/2021:22:09:28 -0400] "POST /nextcloud/index.php/login/flow HTTP/1.1" 303 5859 "-" "Oneplus ONEPLUS A5010 (Android)"
fcd4:eeaf:b23e:8c9:ab84:d0cf:3f64:c55d - - [22/Jul/2021:22:09:30 -0400] "GET /nextcloud/index.php/login/flow HTTP/1.1" 200 5971 "-" "Oneplus ONEPLUS A5010 (Android)"
fcd4:eeaf:b23e:8c9:ab84:d0cf:3f64:c55d - - [22/Jul/2021:22:09:30 -0400] "GET /nextcloud/index.php/core/js/oc.js?v=ac4cad0b HTTP/1.1" 200 5869 "-" "Oneplus ONEPLUS A5010 (Android)"
fcd4:eeaf:b23e:8c9:ab84:d0cf:3f64:c55d - - [22/Jul/2021:22:09:30 -0400] "GET /nextcloud/index.php/apps/theming/image/logo?useSvg=1&v=20 HTTP/1.1" 404 11708 "-" "Oneplus ONEPLUS A5010 (Android)"
I upgraded the server to 21.0.3 today and the problem persists just as before.
As a workaround, I downgraded to the 3.15 version from the apk linked below. I lost config, but at least it's functional for now. https://github.com/nextcloud/android/releases/download/stable-3.15.1/nextcloud-30150190.apk
I triggered the bug, when I changed my password using the browser on the desktop. The mobile client did not know, that the password was changed and kept trying to login in a loop using an old password. This behavior was considered a brute-force attack by the server. After this the mobile app started crashing with error log just like in the original post.
I can fully reproduce this issue when there is a port specified for the URL (https://xxxxxxx.com:2345) and you're reading the QR code for the app login (which QR code is displayed on this URL).
I have the same error. I set up a new account in the app. The account is an LDAP account - OpenLDAP.
As mentioned before, removing the circles app worked around the problem for me as well.
I can find this in the logs:
removing the circles app worked around the problem for me as well
I tested this by disabling the Circles app on the server. Then attempting to load the NextCloud app (version 3.16.1, the latest in F-Droid) on a mobile device.
The NextCloud mobile app crashed in the same manner. I conclude the the Circles app was not the (only?) cause of this.
I'm seeing the same error on one device and also see the some parallels in the behavior described in nextcloud/server#26502 or nextcloud/server#26806 (app passwords seem to get invalid). Making some tests I changed the LDAP user password and at some point the "app password" of the Nextcloud App seamed to not work anymore. But the app password of the Talk client worked.
I saw that after changing the password and when the token seams to get invalid (you also get dropped out of the web interface) the user got asked one time for the server address like when you're starting the Android app for the first time. If the users does not insert anything, afterwards he only can see the NullPointerException and can't insert a new password until the account gets deleted manually in the phone settings...
Transaction error
Parameter specified as non-null is null: method trust.blockchain.b lockchain.nano.NanoRpcService $Companion.toBlock, parameter work
Transaction error
Parameter specified as non-null is null: method trust.blockchain.b lockchain.nano.NanoRpcService $Companion.toBlock, parameter work
**** CAUSE OF ERROR ****
**** APP INFORMATION **** ID: com.nextcloud.client Version: 30160090 Build flavor: gplay
**** DEVICE INFORMATION **** Brand: OnePlus Device: OnePlus6 Model: ONEPLUS A6003 Id: RQ2A.210305.006 Product: OnePlus6
**** FIRMWARE **** SDK: 30 Release: 11 Incremental: 1615660065