4

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
  • Have you checked for any errors popping up in [Stackdriver](https://developers.google.com/actions/smarthome/logging)? Have you contacted [support](https://developers.google.com/actions/support/) to get specific help on your problem? Is something happening on your server that may cause account linking or syncing to fail? – Nick Felker Mar 22 '18 at 17:48
  • Didn't even know about those logs, thanks! We have added our findings to the original post, after **EDIT**. We also found what seems to be some kind of "fix", which involves making sure the Google Assistant and Google Chrome apps are both logged in with the same Google account. We have not contacted support yet. – Tobias van de Ven Mar 23 '18 at 07:54
  • It's odd that you've run into this issue in Chrome. I think it would be beneficial to give that to support just so they can look into a bit more. I have a feeling that it's somehow related to the mobile webview that loads, but that's completely conjecture. – Nick Felker Mar 23 '18 at 17:21
  • Glad it doesn't just seem odd to us. We will contact support and see if anything can be discovered, thanks! – Tobias van de Ven Mar 26 '18 at 06:41
  • I'm experiencing the same issue. But I am logged in on all devices/apps using the same Google account. I've contacted Support already but didn't get any response so far. What else could be the reason for this behavior? – Robert Apr 09 '18 at 08:10
  • The Android app logs will not be helpful. You'll need to check Stackdriver and verify that your auth and sync responses are correct. – Nick Felker Apr 11 '18 at 00:46
  • @NickFelker, which Stackdriver dashboard are you referring to? How to I verify that my server's responses are correct? – Robert Apr 12 '18 at 08:37
  • https://developers.google.com/actions/smarthome/logging – Nick Felker Apr 12 '18 at 16:55
  • Thanks @NickFelker ! However, all I see there is "Request failed with code: OPEN_AUTH_FAILURE". Please see the screenshots attached. I also attached the logs of my server app. https://i.stack.imgur.com/WYItR.png https://i.stack.imgur.com/hAg04.png – Robert Apr 12 '18 at 18:38
  • So it seems like there may be an issue with your oauth integration. – Nick Felker Apr 12 '18 at 19:03
  • @NickFelker, you are right. But I have no idea what is causing the problem. I wonder if there is any way to find out ... – Robert Apr 12 '18 at 19:22
  • There is the OAuth playground: https://developers.google.com/oauthplayground/ – Nick Felker Apr 12 '18 at 19:39

1 Answers1

0

I was attempting the SmartHome Codelab and ran into the same error when I tried adding the test device to my Home Control app.

I was using Brave as the default browser on my app but switching it back to Chrome fixed the issue.

Brian Ensink
  • 11,092
  • 3
  • 50
  • 63