[chameleon_audio: peach_pi/Daisy] audio_AudioBasicHDMI tests are failing with "Unhandled Exception: CrasUtilsError: Can not find unique node id from node type HDMI (RPC: audio.set_chrome_active_node_type)" |
||||
Issue descriptionChrome Version: R65-10210.0.0 OS: Chrome audio_AudioBasicHeadphone and audio_AudioBasicHeadphone.suspend tests are failing with "Unhandled Exception: CrasUtilsError: Can not find unique node id from node type HDMI (RPC: audio.set_chrome_active_node_type)" Test results link: https://stainless.corp.google.com/search?exclude_cts=true&exclude_non_release=true&board=%5Epeach%5C_pi%24&suite=%5Echameleon%5C_audio%5C_perbuild%24&view=matrix&col=build&row=test&first_date=20171208&last_date=20171214 It started from R65-10210.0.0 build. From debug logs: ============================ 12/12 22:34:41.248 DEBUG| ssh_host:0301| Running (ssh) 'true' from 'collect_client_job_results|wait_up|is_up|ssh_ping|run|run_very_slowly' 12/12 22:34:42.278 DEBUG| abstract_ssh:0670| Host chromeos2-row10-rack10-host11 is now up 12/12 22:34:42.278 DEBUG| runner:0089| result tools are already deployed to chromeos2-row10-rack10-host11. 12/12 22:34:42.279 DEBUG| runner:0100| Getting directory summary for /tmp/sysinfo/autoserv-foXNpb/results/default 12/12 22:34:42.306 DEBUG| ssh_host:0301| Running (ssh) '/usr/local/autotest/result_tools/utils.py -p /tmp/sysinfo/autoserv-foXNpb/results/default -m 20000' from '_do_run|execute_control|collect_client_job_results|run_on_client|run|run_very_slowly' 12/12 22:34:43.454 DEBUG| utils:0280| [stdout] 2017-12-12 22:34:41,865 Running result_tools/utils on path: /tmp/sysinfo/autoserv-foXNpb/results/default 12/12 22:34:43.454 DEBUG| utils:0280| [stdout] 2017-12-12 22:34:41,866 Throttle result size to : 19 MB 12/12 22:34:43.470 DEBUG| utils:0280| [stdout] 2017-12-12 22:34:41,882 Directory summary of /tmp/sysinfo/autoserv-foXNpb/results/default is saved to file /tmp/sysinfo/autoserv-foXNpb/results/default/dir_summary_1513146881.json. 12/12 22:34:43.470 DEBUG| utils:0280| [stdout] 2017-12-12 22:34:41,882 Skip throttling /tmp/sysinfo/autoserv-foXNpb/results/default: size=924311, throttle_probability=22.1570445445 12/12 22:34:43.482 DEBUG| abstract_ssh:0413| get_file. source: /tmp/sysinfo/autoserv-foXNpb/results/default/, dest: /usr/local/autotest/results/162170657-chromeos-test, delete_dest: False,preserve_perm: True, preserve_symlinks:True 12/12 22:34:43.482 DEBUG| abstract_ssh:0425| Using Rsync. 12/12 22:34:43.483 DEBUG| utils:0212| Running 'rsync -l --timeout=1800 --rsh='/usr/bin/ssh -a -x -o Protocol=2 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes -o ConnectTimeout=30 -o ServerAliveInterval=900 -o ServerAliveCountMax=3 -o ConnectionAttempts=4 -l root -p 22' -az --no-o --no-g root@chromeos2-row10-rack10-host11:"/tmp/sysinfo/autoserv-foXNpb/results/default/" "/usr/local/autotest/results/162170657-chromeos-test"' 12/12 22:34:45.021 DEBUG| base_job:0250| Value of client.sysinfo is unchanged, skipping import 12/12 22:34:45.021 DEBUG| base_job:0253| Importing client.harness from state file /usr/local/autotest/results/162170657-chromeos-test/control.autoserv.state 12/12 22:34:45.021 DEBUG| base_job:0253| Importing client.steps from state file /usr/local/autotest/results/162170657-chromeos-test/control.autoserv.state 12/12 22:34:45.022 DEBUG| base_job:0253| Importing client._record_indent from state file /usr/local/autotest/results/162170657-chromeos-test/control.autoserv.state 12/12 22:34:45.022 DEBUG| base_job:0250| Value of global_properties.max_result_size_KB is unchanged, skipping import 12/12 22:34:45.022 DEBUG| base_job:0250| Value of global_properties.tag is unchanged, skipping import 12/12 22:34:45.022 DEBUG| base_job:0250| Value of global_properties.test_retry is unchanged, skipping import 12/12 22:34:45.022 DEBUG| base_job:0250| Value of global_properties.fast is unchanged, skipping import 12/12 22:34:45.024 DEBUG| base_job:0399| Persistent state client.* deleted 12/12 22:34:45.025 DEBUG| autotest:1151| Autotest job finishes. 12/12 22:34:45.025 DEBUG| abstract_ssh:0413| get_file. source: /tmp/autoserv-zMY7U4/sysinfo.pickle, dest: /tmp/tmpZHBaIh, delete_dest: False,preserve_perm: True, preserve_symlinks:False 12/12 22:34:45.026 DEBUG| abstract_ssh:0425| Using Rsync. 12/12 22:34:45.026 DEBUG| utils:0212| Running 'rsync -L --timeout=1800 --rsh='/usr/bin/ssh -a -x -o Protocol=2 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes -o ConnectTimeout=30 -o ServerAliveInterval=900 -o ServerAliveCountMax=3 -o ConnectionAttempts=4 -l root -p 22' -az --no-o --no-g root@chromeos2-row10-rack10-host11:"/tmp/autoserv-zMY7U4/sysinfo.pickle" "/tmp/tmpZHBaIh"' 12/12 22:34:46.444 DEBUG| test:0420| after_iteration_hooks completed 12/12 22:34:46.445 WARNI| test:0637| The test failed with the following exception Traceback (most recent call last): File "/usr/local/autotest/client/common_lib/test.py", line 631, in _exec _call_test_function(self.execute, *p_args, **p_dargs) File "/usr/local/autotest/client/common_lib/test.py", line 837, in _call_test_function raise error.UnhandledTestFail(e) UnhandledTestFail: Unhandled Exception: CrasUtilsError: Can not find unique node id from node type HDMI (RPC: audio.set_chrome_active_node_type) Traceback (most recent call last): File "/usr/local/autotest/client/common_lib/test.py", line 831, in _call_test_function return func(*args, **dargs) File "/usr/local/autotest/client/common_lib/test.py", line 495, in execute dargs) File "/usr/local/autotest/client/common_lib/test.py", line 362, in _call_run_once_with_retry postprocess_profiled_run, args, dargs) File "/usr/local/autotest/client/common_lib/test.py", line 400, in _call_run_once self.run_once(*args, **dargs) File "/usr/local/autotest/server/site_tests/audio_AudioBasicHDMI/audio_AudioBasicHDMI.py", line 124, in run_once audio_facade.set_chrome_active_node_type('HDMI', None) File "/usr/local/autotest/server/cros/multimedia/audio_facade_adapter.py", line 266, in set_chrome_active_node_type output_node_type, input_node_type) File "/usr/local/autotest/server/cros/multimedia/remote_facade_factory.py", line 60, in __call__ return self.__call_method(self.__name, *args, **dargs) File "/usr/local/autotest/server/cros/multimedia/remote_facade_factory.py", line 171, in __call_proxy return call_rpc_with_log() File "/usr/local/autotest/server/cros/multimedia/remote_facade_factory.py", line 155, in call_rpc_with_log raise Exception('%s: %s' % (keyword, reason)) Exception: CrasUtilsError: Can not find unique node id from node type HDMI (RPC: audio.set_chrome_active_node_type) 12/12 22:34:46.446 DEBUG| test:0642| Running cleanup for test. 12/12 22:34:46.577 DEBUG| utils:0280| [client] 22:34:44 INFO | Dispatching method <bound method SystemFacadeNative.set_scaling_governor_mode of <autotest_lib.client.cros.multimedia.system_facade_native.SystemFacadeNative object at 0xb4f661d0>> with args (0, 'interactive')
,
Dec 15 2017
Hi Kalin, the diff list does not look right. The last good version is 10196. https://crosland.corp.google.com/log/10196.0.0..10210.0.0 On the other hand, on daisy, it failed starting from 10208. https://wmatrix.googleplex.com/platform/unfiltered?hide_missing=True&tests=audio_AudioBasicHDMI&days_back=20&platforms=daisy HDMI is not detected. Output Nodes: Stable Id ID Vol Plugged L/R swapped Time Hotword Type Name (9e934263) 6:0 75 yes no 1513146783 HEADPHONE *Headphone (72a57953) 6:1 100 yes no 1513146782 INTERNAL_SPEAKER Speaker (35ebf3cc) 6:2 100 no no 0 HDMI HDMI The log shows: 2017-12-13T06:33:41.324562+00:00 ERR cras_server[19357]: Timeout to read EDID from /sys/devices/platform/exynos-drm/drm/card0/card0-HDMI-A-1/edid 2017-12-13T06:34:12.844046+00:00 ERR cras_server[19357]: Timeout to read EDID from /sys/devices/platform/exynos-drm/drm/card0/card0-HDMI-A-1/edid The only change that is related to drm landed in 10208: https://chromium-review.googlesource.com/#/c/chromiumos/third_party/kernel/+/314891/ It turns out that the path to EDID file is changed from /sys/devices/platform/exynos-drm/drm/card0/card0-HDMI-A-1/edid to /sys/devices/platform/exynos-drm/drm/card1/card1-HDMI-A-1/edid Hi marcheu@, Is the change to the EDID path expected ? If so, we need to change the UCM file for these 6 boards: https://cs.corp.google.com/search/?q=card0-HDMI-A-1/edid+package:%5Echromeos_public$&type=cs Thanks!
,
Dec 15 2017
,
Dec 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/adhd/+/84e20a3199157d7f7d5d23b92865eeff31e02686 commit 84e20a3199157d7f7d5d23b92865eeff31e02686 Author: Cheng-Yi Chiang <cychiang@chromium.org> Date: Fri Dec 15 18:10:46 2017 daisy*: Change EDID path for exynos boards After the change of VGEM in 3.8 kernel: crosreview.com/314891, the EDID path is changed. Fix the EDID path in the UCM file. BUG= chromium:795014 TEST=run audio_AudioBasicHDMI test on daisy Change-Id: I72e0bb0461a20b565bd9bbe957074ff1a7e5a455 Reviewed-on: https://chromium-review.googlesource.com/828643 Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Cheng-Yi Chiang <cychiang@chromium.org> Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org> [modify] https://crrev.com/84e20a3199157d7f7d5d23b92865eeff31e02686/ucm-config/daisy/DAISY-I2S/HiFi.conf [modify] https://crrev.com/84e20a3199157d7f7d5d23b92865eeff31e02686/ucm-config/daisy_spring/DAISY-I2S/HiFi.conf [modify] https://crrev.com/84e20a3199157d7f7d5d23b92865eeff31e02686/ucm-config/daisy/DAISY-I2S-98090/HiFi.conf [modify] https://crrev.com/84e20a3199157d7f7d5d23b92865eeff31e02686/ucm-config/daisy_skate/DAISY-I2S/HiFi.conf
,
Dec 15 2017
Noticed same issue on daisy also. https://stainless.corp.google.com/search?exclude_cts=true&exclude_non_release=true&board=%5Edaisy%24&suite=%5Echameleon%5C_audio%5C_perbuild%24&view=matrix&col=build&row=test&first_date=20171209&last_date=20171215
,
Dec 16 2017
We shouldn't hardcode paths to EDID like that. Can you fix it to look for the right connector?
,
Dec 18 2017
Re#6 I agree that current method is not optimal. https://cs.corp.google.com/search/?q=edidfile+package:%5Echromeos_public$&type=cs The paths are like: /sys/devices/platform/exynos-drm/drm/card0/card0-HDMI-A-1/edid /sys/class/drm/card2-HDMI-A-1/edid /sys/class/drm/card1-DP-1/edid We can loop through all the files named "edid" under these directories: /sys/devices/platform/exynos-drm/drm/ /sys/class/drm/ But if there are more than one HDMI or DP available, we will have problem distinguishing them. e.g. on veyron_jerry: there are: /sys/class/drm/card1/card1-eDP-1/edid /sys/class/drm/card1/card1-HDMI-A-1/edid We can still try to read from it. The incorrect one has no data (eDP one) Not sure if that is reliable enough. Do you have better suggestions that we can query the right edid path ? Thanks!
,
Dec 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074 commit 4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074 Author: Cheng-Yi Chiang <cychiang@chromium.org> Date: Mon Dec 18 09:35:56 2017 peach-pi*: Change EDID path for exynos boards After the change of VGEM in 3.8 kernel: crosreview.com/314891, the EDID path is changed. Fix the EDID path in the UCM file. BUG= chromium:795014 TEST=run audio_AudioBasicHDMI test on peach_pi Change-Id: I19e665ebd42b4b95b19a8a7fbfc4361b71e6ada9 Reviewed-on: https://chromium-review.googlesource.com/828644 Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Cheng-Yi Chiang <cychiang@chromium.org> Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org> [modify] https://crrev.com/4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074/overlay-variant-peach-pit/chromeos-base/chromeos-bsp-pit/files/audio-config/ucm-config/DAISY-I2S/HiFi.conf [rename] https://crrev.com/4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074/overlay-variant-peach-pi/chromeos-base/chromeos-bsp-pi/chromeos-bsp-pi-0.0.2-r10.ebuild [modify] https://crrev.com/4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074/overlay-variant-peach-pi/chromeos-base/chromeos-bsp-pi/files/audio-config/ucm-config/DAISY-I2S/HiFi.conf [rename] https://crrev.com/4b3ad033f9e9aa1c397ca2c2c2f7dbc0d13a9074/overlay-variant-peach-pit/chromeos-base/chromeos-bsp-pit/chromeos-bsp-pit-0.0.2-r9.ebuild
,
Dec 19 2017
@7: Yes you will have to loop over the connectors and find the ones which are connected (you can read "status" in each directory to find connected ones).
,
Dec 19 2017
Thank you! That makes sense. Created https://bugs.chromium.org/p/chromium/issues/detail?id=796088 to track. Closing this one.
,
Dec 27 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by ka...@chromium.org
, Dec 14 2017Status: Assigned (was: Untriaged)