This issue appears very similar, or perhaps identical, to what is described in the question here.
It refers to an error that we have seen occur after linking our Smart Home Google Assistant app. The OAuth linking is successful, but an error occurs before a SYNC request is sent to our endpoint. The error message in the app is the following:
Couldn't update the setting. Check your connection.
We have reproduced this with a freshly created Google account, but it does not occur when using an older account that we have used during development, it is unclear to us why. So far, this new account continues to encounter the error during every link attempt.
Additionally, we have attempted to link to a different smart home provider's app with this same account, and the same error occurred. This leads us to believe that the issue may be independent of our specific implementation.
Some of our early users have been encountering issues that resemble this, therefore we are understandably interested in getting to the bottom of this.
EDIT As suggested in a comment below, we have also checked the StackDriver logs, which include the following:
{
insertId: "1eialu1g1wsicsh"
logName: "projects/***********/logs/actions.googleapis.com%2Factions"
receiveTimestamp: "2018-03-23T07:11:42.864362172Z"
resource: {
labels: {
action_id: "SMART_HOME_SYNC"
project_id: "********"
version_id: ""
}
type: "assistant_action"
}
severity: "ERROR"
textPayload: "SYNC: Request ID 14632813443482912913 failed with code: OPEN_AUTH_FAILURE"
timestamp: "2018-03-23T07:11:42.843302777Z"
}
This clearly points to an OAuth issue, but according to our logs the OAuth link is successful. Interestingly, we googled the error 'OPEN_AUTH_FAILURE' and stumbled up this thread. In it, user 'tr0zanwow' suggests that the account with which one is logged into Google Chrome should match the one in the Google Assistant app. Sure enough, the Chrome app on our test device was using a different Google account; after changing it to match the error stopped occurring. Changing the Chrome account back (making them different again) did not cause the problem to reoccur, however. It is unclear to us what the implications are exactly.
ORIGINAL As requested in the similar question, linked at the top, we have included logcat logs at the end of this question. They start from a point directly after the user commits their login details to our OAuth service, after which flow returns to the Home Control page.
We have included this much information for fear of leaving anything out that may be useful to a more knowledgeable reader.
The most notable lines are perhaps:
W/ASPrefControlBase: #onFailure
W/S3NetworkUtils: [Upload] response code: 500
W/SearchService: Abort, client detached.
Our Google Assistant app has already been certified and is live, so this is not a test version. We have not made any announcements yet, however, and we wish to discover the cause of this error before doing so.
Any help will be greatly appreciated.
Log A - Error
03-22 10:46:11.477 28274-28274/? W/BrowserControlActivity: Transition animation scale is not available
03-22 10:46:11.487 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: Relayout returned: oldFrame=[0,0][1440,2560] newFrame=[0,0][1440,2560] result=0x7 surface={isValid=true 513947270656} surfaceGenerationChanged=true
03-22 10:46:11.487 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: mHardwareRenderer.initialize() mSurface={isValid=true 513947270656} hwInitialized=true
03-22 10:46:11.500 28274-28473/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1440x2560]-format:1
03-22 10:46:11.509 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: Relayout returned: oldFrame=[720,1322][720,1322] newFrame=[720,1322][720,1322] result=0x3 surface={isValid=true 514602466816} surfaceGenerationChanged=true
03-22 10:46:11.509 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: mHardwareRenderer.initialize() mSurface={isValid=true 514602466816} hwInitialized=true
03-22 10:46:11.511 28274-28473/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1x1]-format:1
03-22 10:46:11.525 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: Relayout returned: oldFrame=[0,0][1440,2560] newFrame=[0,0][1440,2560] result=0x3 surface={isValid=true 515082470400} surfaceGenerationChanged=true
03-22 10:46:11.525 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: mHardwareRenderer.initialize() mSurface={isValid=true 515082470400} hwInitialized=true
03-22 10:46:11.595 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: MSG_WINDOW_FOCUS_CHANGED 1
03-22 10:46:11.595 28274-28473/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1440x2560]-format:1
03-22 10:46:11.595 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 513947270656}
03-22 10:46:11.597 28274-28274/? V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@4801c30 nm : com.google.android.googlequicksearchbox ic=null
03-22 10:46:11.597 28274-28274/? I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
03-22 10:46:11.603 28274-28274/? D/InputTransport: Input channel constructed: fd=175
03-22 10:46:12.537 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: mHardwareRenderer.destroy()#4
03-22 10:46:12.537 28274-28274/? D/ViewRootImpl@749b1e7[BrowserControlActivity]: dispatchDetachedFromWindow
03-22 10:46:12.545 28274-28274/? D/InputTransport: Input channel destroyed: fd=185
03-22 10:46:12.561 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: Relayout returned: oldFrame=[720,1322][720,1322] newFrame=[720,1322][720,1322] result=0x1 surface={isValid=true 514602466816} surfaceGenerationChanged=false
03-22 10:46:12.561 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: MSG_WINDOW_FOCUS_CHANGED 1
03-22 10:46:12.561 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 514602466816}
03-22 10:46:12.562 28274-28274/? V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@24ece65 nm : com.google.android.googlequicksearchbox ic=null
03-22 10:46:12.562 28274-28274/? I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
03-22 10:46:12.564 28274-28274/? D/InputTransport: Input channel constructed: fd=173
03-22 10:46:12.564 28274-28274/? D/InputTransport: Input channel destroyed: fd=175
03-22 10:46:12.564 28274-28274/? E/ViewRootImpl: sendUserActionEvent() mView == null
03-22 10:46:12.626 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:12.640 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:12.646 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:12.648 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:12.650 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:12.654 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: ThreadedRenderer.create() translucent=true
03-22 10:46:12.658 28274-28274/? D/InputTransport: Input channel constructed: fd=178
03-22 10:46:12.659 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: setView = DecorView@4311c3e[AssistantSettingsActivityInternal] touchMode=true
03-22 10:46:12.666 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: MSG_WINDOW_FOCUS_CHANGED 1
03-22 10:46:12.666 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 515082470400}
03-22 10:46:12.667 28274-28274/? V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@239f7ec nm : com.google.android.googlequicksearchbox ic=null
03-22 10:46:12.667 28274-28274/? I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
03-22 10:46:12.668 28274-28274/? D/InputTransport: Input channel constructed: fd=179
03-22 10:46:12.668 28274-28274/? D/InputTransport: Input channel destroyed: fd=173
03-22 10:46:12.669 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: MSG_WINDOW_FOCUS_CHANGED 0
03-22 10:46:12.672 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: dispatchAttachedToWindow
03-22 10:46:12.712 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: Relayout returned: oldFrame=[0,0][0,0] newFrame=[37,1119][1403,1525] result=0x27 surface={isValid=true 513947270656} surfaceGenerationChanged=true
03-22 10:46:12.713 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: mHardwareRenderer.initialize() mSurface={isValid=true 513947270656} hwInitialized=true
03-22 10:46:12.716 28274-28473/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000, [1590x630]-format:1
03-22 10:46:12.717 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: mHardwareRenderer.destroy()#1
03-22 10:46:12.729 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: Relayout returned: oldFrame=[720,1322][720,1322] newFrame=[720,1322][720,1322] result=0x5 surface={isValid=false 0} surfaceGenerationChanged=true
03-22 10:46:12.729 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: MSG_WINDOW_FOCUS_CHANGED 1
03-22 10:46:12.730 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 513947270656}
03-22 10:46:12.751 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
03-22 10:46:12.786 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: MSG_WINDOW_FOCUS_CHANGED 0
03-22 10:46:12.792 28274-7980/? W/CronetNetworkRqstWrppr: Upload request without a content type.
03-22 10:46:13.065 28274-28274/? W/SearchService: Abort, client detached.
03-22 10:46:13.065 28274-28274/? W/SearchService: Abort, client detached.
03-22 10:46:13.523 28274-28274/? D/TextView: setTypeface with style : 0
03-22 10:46:13.531 28274-28274/? W/ASPrefControlBase: #onFailure
com.google.android.apps.gsa.shared.speech.b.o: errorCode: -83903, engine: 2
at com.google.android.apps.gsa.s3.t.b(SourceFile:7)
at com.google.android.apps.gsa.s3.o.a(SourceFile:9)
at com.google.android.apps.gsa.s3.m.als(SourceFile:70)
at com.google.android.apps.gsa.s3.l.run(SourceFile:19)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.google.android.apps.gsa.shared.util.concurrent.b.g.run(Unknown Source)
at com.google.android.apps.gsa.shared.util.concurrent.b.au.run(SourceFile:4)
at com.google.android.apps.gsa.shared.util.concurrent.b.au.run(SourceFile:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
at com.google.android.apps.gsa.shared.util.concurrent.b.i.run(SourceFile:6)
03-22 10:46:13.541 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: mHardwareRenderer.destroy()#4
03-22 10:46:13.541 28274-28274/? D/ViewRootImpl@592b4f9[AssistantSettingsActivityInternal]: dispatchDetachedFromWindow
03-22 10:46:13.574 28274-28274/? D/InputTransport: Input channel destroyed: fd=178
03-22 10:46:13.578 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: MSG_WINDOW_FOCUS_CHANGED 1
03-22 10:46:13.579 28274-28274/? D/ViewRootImpl@f1f4180[AssistantSettingsActivityInternal]: mHardwareRenderer.initializeIfNeeded()#2 mSurface={isValid=true 515082470400}
03-22 10:46:13.589 28274-28274/? E/ViewRootImpl: sendUserActionEvent() mView == null
03-22 10:46:13.591 28274-8715/? W/S3NetworkUtils: [Upload] response code: 500
03-22 10:46:13.602 28274-28274/? W/SearchService: Abort, client detached.
03-22 10:46:13.621 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: mHardwareRenderer.destroy()#4
03-22 10:46:13.621 28274-28274/? D/ViewRootImpl@e3863da[AssistantHandoffActivity]: dispatchDetachedFromWindow
03-22 10:46:13.642 28274-28274/? D/InputTransport: Input channel destroyed: fd=156