[BUG] Android client can't login
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 4.2k
- Forks
- 3.1k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 7
Description
Hi,
Client is a Redmi 9 stock rom,client is the latest. Android 11. It throws ssl error,but in browser it works on the same phone. Debug log.follows:
D: 2023-01-22 20:43:54:543(LogsProvider.kt:46) .startLogging()release start logging 3.0.1 5e553f078
V: 2023-01-22 20:43:57:586(MainApp.kt:159) $onCreate.onActivityDestroyed()LoginActivity onDestroy() ending
V: 2023-01-22 20:43:57:601(MainApp.kt:142) $onCreate.onActivityPaused()SettingsActivity onPause() ending
V: 2023-01-22 20:43:57:618(MainApp.kt:159) $onCreate.onActivityDestroyed()FileDisplayActivity onDestroy() ending
V: 2023-01-22 20:43:57:639(FileDisplayActivity.kt:173) .onCreate()onCreate() start
D: 2023-01-22 20:43:57:641(MainApp.kt:102) $onCreate.onActivityCreated()FileDisplayActivity onCreate(Bundle) starting
I: 2023-01-22 20:43:57:651(AccountAuthenticator.java:91) .addAccount()Adding account with type owncloud and auth token null
V: 2023-01-22 20:43:57:716(FileDisplayActivity.kt:239) .onCreate()onCreate() end
D: 2023-01-22 20:43:57:718(AppRater.java:53) .appLaunched()The app has been launched 3 times
D: 2023-01-22 20:43:57:720(AppRater.java:69) .appLaunched()The number of launches already exceed 2, the default number of launches, so let's check some dates
D: 2023-01-22 20:43:57:722(AppRater.java:71) .appLaunched()Current moment is 1674416637721
D: 2023-01-22 20:43:57:723(AppRater.java:72) .appLaunched()The date of the first launch + days until prompt is 1674416416398172800000
D: 2023-01-22 20:43:57:724(AppRater.java:74) .appLaunched()The date of the neutral click + days until neutral click is 086400000
V: 2023-01-22 20:43:57:728(MainApp.kt:129) $onCreate.onActivityStarted()FileDisplayActivity onStart() starting
D: 2023-01-22 20:43:57:733(DrawerActivity.kt:393) .updateQuota()Update Quota
V: 2023-01-22 20:43:57:738(FileDisplayActivity.kt:686) .onResume()onResume() start
V: 2023-01-22 20:43:57:739(MainApp.kt:138) $onCreate.onActivityResumed()FileDisplayActivity onResume() starting
W: 2023-01-22 20:43:57:741(DrawerActivity.kt:505) .setDrawerMenuItemChecked()setDrawerMenuItemChecked has been called with invalid menu-item-ID
V: 2023-01-22 20:43:57:742(FileDisplayActivity.kt:702) .onResume()onResume() end
V: 2023-01-22 20:43:57:749(OperationsService.java:120) .onDestroy()Destroying service
D: 2023-01-22 20:43:57:803(OperationsService.java:92) .onCreate()Creating service
V: 2023-01-22 20:43:57:810(FileDisplayActivity.kt:706) .onPause()onPause() start
V: 2023-01-22 20:43:57:812(MainApp.kt:142) $onCreate.onActivityPaused()FileDisplayActivity onPause() ending
V: 2023-01-22 20:43:57:813(FileDisplayActivity.kt:717) .onPause()onPause() end
D: 2023-01-22 20:43:57:830(FileActivity.java:385) $OperationsServiceConnection.onServiceConnected()Operations service connected
D: 2023-01-22 20:43:57:837(MainApp.kt:102) $onCreate.onActivityCreated()LoginActivity onCreate(Bundle) starting
V: 2023-01-22 20:43:57:890(MainApp.kt:129) $onCreate.onActivityStarted()LoginActivity onStart() starting
V: 2023-01-22 20:43:57:891(MainApp.kt:138) $onCreate.onActivityResumed()LoginActivity onResume() starting
V: 2023-01-22 20:43:58:007(MainApp.kt:146) $onCreate.onActivityStopped()FileDisplayActivity onStop() ending
V: 2023-01-22 20:43:58:009(FileDisplayActivity.kt:672) .onSaveInstanceState()onSaveInstanceState() start
V: 2023-01-22 20:43:58:012(MainApp.kt:155) $onCreate.onActivitySaveInstanceState()FileDisplayActivity onSaveInstanceState(Bundle) starting
V: 2023-01-22 20:43:58:013(FileDisplayActivity.kt:682) .onSaveInstanceState()onSaveInstanceState() end
V: 2023-01-22 20:43:58:463(MainApp.kt:146) $onCreate.onActivityStopped()SettingsActivity onStop() ending
V: 2023-01-22 20:43:58:466(MainApp.kt:159) $onCreate.onActivityDestroyed()SettingsActivity onDestroy() ending
D: 2023-01-22 20:44:07:164(OwnCloudClient.java:90) .()#1Creating OwnCloudClient
D: 2023-01-22 20:44:07:169(OwnCloudClient.java:128) .saveExecuteHttpMethod()Executing in request with id 3b5b6374-7c37-440c-a6ec-aa07fd449784
D: 2023-01-22 20:45:07:452(LogBuilder.kt:38) .logHttp()[Network, request] [info] [3b5b6374-7c37-440c-a6ec-aa07fd449784] Type: GET URL: https://******81/status.php
D: 2023-01-22 20:45:07:461(LogBuilder.kt:38) .logHttp()[Network, request] [header] [3b5b6374-7c37-440c-a6ec-aa07fd449784] X-Request-ID: 3b5b6374-7c37-440c-a6ec-aa07fd449784
D: 2023-01-22 20:45:07:463(LogBuilder.kt:38) .logHttp()[Network, request] [header] [3b5b6374-7c37-440c-a6ec-aa07fd449784] User-Agent: Mozilla/5.0 (Android) ownCloud-android/3.0.1
D: 2023-01-22 20:45:07:465(LogBuilder.kt:38) .logHttp()[Network, request] [header] [3b5b6374-7c37-440c-a6ec-aa07fd449784] Accept-Encoding: identity
D: 2023-01-22 20:45:07:466(LogBuilder.kt:38) .logHttp()[Network, request] [header] [3b5b6374-7c37-440c-a6ec-aa07fd449784] Host: ******t:81
D: 2023-01-22 20:45:07:468(LogBuilder.kt:38) .logHttp()[Network, request] [header] [3b5b6374-7c37-440c-a6ec-aa07fd449784] Connection: Keep-Alive
D: 2023-01-22 20:45:07:469(LogBuilder.kt:38) .logHttp()[Network, request] [body] [3b5b6374-7c37-440c-a6ec-aa07fd449784] Empty body
E: 2023-01-22 20:45:07:487(RemoteOperationResult.java:119) .()---------------------------------
Create RemoteOperationResult from exception.
Message: SSLException: Write error: ssl=0x7e27474008: I/O error during system call, Broken pipe
Stacktrace: javax.net.ssl.SSLException: Write error: ssl=0x7e27474008: I/O error during system call, Broken pipe
at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
at com.android.org.conscrypt.NativeSsl.write(NativeSsl.java:426)
at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(ConscryptFileDescriptorSocket.java:626)
at okio.OutputStreamSink.write(JvmOkio.kt:56)
at okio.AsyncTimeout$sink$1.write(AsyncTimeout.kt:99)
at okio.RealBufferedSink.flush(RealBufferedSink.kt:267)
at okhttp3.internal.http1.Http1ExchangeCodec.finishRequest(Http1ExchangeCodec.kt:155)
at okhttp3.internal.connection.Exchange.finishRequest(Exchange.kt:91)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at com.owncloud.android.lib.common.http.DummyInterceptor.intercept(DummyInterceptor.kt:30)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at com.owncloud.android.lib.common.http.LogInterceptor.intercept(LogInterceptor.kt:59)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:100)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:197)
at okhttp3.internal.connection.RealCall.execute(RealCall.kt:148)
at com.owncloud.android.lib.common.http.methods.nonwebdav.HttpMethod.onExecute(HttpMethod.kt:44)
at com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod.onExecute(GetMethod.kt:41)
at com.owncloud.android.lib.common.http.methods.HttpBaseMethod.execute(HttpBaseMethod.kt:75)
at com.owncloud.android.lib.common.OwnCloudClient.saveExecuteHttpMethod(OwnCloudClient.java:136)
at com.owncloud.android.lib.common.OwnCloudClient.executeHttpMethod(OwnCloudClient.java:106)
at com.owncloud.android.lib.resources.status.StatusRequester.request(StatusRequester.kt:85)
at com.owncloud.android.lib.resources.status.GetRemoteStatusOperation.tryToConnect(GetRemoteStatusOperation.kt:61)
at com.owncloud.android.lib.resources.status.GetRemoteStatusOperation.run(GetRemoteStatusOperation.kt:49)
at com.owncloud.android.lib.common.operations.RemoteOperation.runOperation(RemoteOperation.java:264)
at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:229)
at com.owncloud.android.lib.resources.status.services.implementation.OCServerInfoService.getRemoteStatus(OCServerInfoService.kt:53)
at com.owncloud.android.data.server.datasources.implementation.OCRemoteServerInfoDataSource.getRemoteStatus(OCRemoteServerInfoDataSource.kt:77)
at com.owncloud.android.data.server.datasources.implementation.OCRemoteServerInfoDataSource.getServerInfo(OCRemoteServerInfoDataSource.kt:92)
at com.owncloud.android.data.server.repository.OCServerInfoRepository.getServerInfo(OCServerInfoRepository.kt:31)
at com.owncloud.android.domain.server.usecases.GetServerInfoAsyncUseCase.run(GetServerInfoAsyncUseCase.kt:30)
at com.owncloud.android.domain.server.usecases.GetServerInfoAsyncUseCase.run(GetServerInfoAsyncUseCase.kt:26)
at com.owncloud.android.domain.BaseUseCaseWithResult.execute(BaseUseCaseWithResult.kt:30)
at com.owncloud.android.extensions.ViewModelExt$runUseCaseWithResult$1.invokeSuspend(ViewModelExt.kt:62)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
D: 2023-01-22 20:45:07:498(ViewModelExt.kt:64) $runUseCaseWithResult.invokeSuspend()Use case executed: GetServerInfoAsyncUseCase with result: Error(throwable=com.owncloud.android.domain.exceptions.SSLErrorException)
V: 2023-01-22 20:45:09:084(MainApp.kt:142) $onCreate.onActivityPaused()LoginActivity onPause() ending
D: 2023-01-22 20:45:09:110(MainApp.kt:102) $onCreate.onActivityCreated()SettingsActivity onCreate(Bundle) starting
V: 2023-01-22 20:45:09:141(MainApp.kt:129) $onCreate.onActivityStarted()SettingsActivity onStart() starting
V: 2023-01-22 20:45:09:153(MainApp.kt:138) $onCreate.onActivityResumed()SettingsActivity onResume() starting
V: 2023-01-22 20:45:09:770(MainApp.kt:146) $onCreate.onActivityStopped()LoginActivity onStop() ending
V: 2023-01-22 20:45:09:773(MainApp.kt:155) $onCreate.onActivitySaveInstanceState()LoginActivity onSaveInstanceState(Bundle) starting
V: 2023-01-22 20:45:12:474(MainApp.kt:142) $onCreate.onActivityPaused()SettingsActivity onPause() ending
D: 2023-01-22 20:45:12:493(MainApp.kt:102) $onCreate.onActivityCreated()LogsListActivity onCreate(Bundle) starting
V: 2023-01-22 20:45:12:524(MainApp.kt:129) $onCreate.onActivityStarted()LogsListActivity onStart() starting
V: 2023-01-22 20:45:12:525(MainApp.kt:138) $onCreate.onActivityResumed()LogsListActivity onResume() starting
V: 2023-01-22 20:45:13:102(MainApp.kt:146) $onCreate.onActivityStopped()SettingsActivity onStop() ending
V: 2023-01-22 20:45:13:104(MainApp.kt:155) $onCreate.onActivitySaveInstanceState()SettingsActivity onSaveInstanceState(Bundle) starting
V: 2023-01-22 20:45:14:481(MainApp.kt:142) $onCreate.onActivityPaused()LogsListActivity onPause() ending
V: 2023-01-22 20:45:19:263(MainApp.kt:146) $onCreate.onActivityStopped()LogsListActivity onStop() ending
V: 2023-01-22 20:45:19:273(MainApp.kt:155) $onCreate.onActivitySaveInstanceState()LogsListActivity onSaveInstanceState(Bundle) starting
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with GetServerInfoAsyncUseCase and follow the reported stack through OCRemoteServerInfoDataSource, StatusRequester, and OwnCloudClient, focusing on the Android 11 SSL broken-pipe failure for the status.php request. Reproduce the login flow on the reported device or equivalent environment and verify that server discovery and login complete without the SSL error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- authentication, mobile, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100