Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pw-dump command fails in checkbox environment, but it works on local environment #1637

Open
1 task done
LiaoU3 opened this issue Dec 5, 2024 · 2 comments
Open
1 task done
Labels
bug Something isn't working Critical

Comments

@LiaoU3
Copy link
Contributor

LiaoU3 commented Dec 5, 2024

Bug Description

audio/detect_sinks runs pipewire_utils.py. However, it causes subprocess.CalledProcessError when running in checkbox environment. Interestingly, it works in local environment.

In conclusion, it was caused by running pw-dump in checkbox environment.

Cert-blocker Test Case

To Reproduce

  1. sudo checkbox.shell
  2. pw-dump Node

Expected Result

Output a json format text and return code should be 0.

Actual Result

can't create context: No such file or directory

Environment

checkbox                   4.2.0-dev160        10926  24.04/beta       ce-certification-qa  classic
checkbox24                 4.2.0-dev160        392    latest/beta      ce-certification-qa  -

24.04, 24.10
Desktop

ubuntu@ubuntu-Precision-3680:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.10
Release:	24.10
Codename:	oracular

https://certification.canonical.com/hardware/202411-35965/

Relevant log output

ubuntu@ubuntu-Precision-3680:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ ./pipewire_utils.py detect -t audio -c sinks
device id:[53] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_04_00.0.hdmi-stereo]
device id:[54] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_00_1f.3.analog-stereo]
ubuntu@ubuntu-Precision-3680:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ sudo checkbox.shell 
checkbox runtime shell, type 'exit' to quit the session
(checkbox-shell) root@ubuntu-Precision-3680:/snap/checkbox24/392/providers/checkbox-provider-base/bin# ./pipewire_utils.py detect -t audio -c sinks
can't create context: No such file or directory
Traceback (most recent call last):
  File "/snap/checkbox24/392/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 721, in <module>
    sys.exit(pw.function_select(pw._args_parsing()))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/392/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 685, in function_select
    return self.detect_device(args.type, args.clazz)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/392/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 161, in detect_device
    clients = self._get_pw_dump("Node")
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/392/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 104, in _get_pw_dump
    pw_dump = subprocess.check_output(
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/current/usr/lib/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/current/usr/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pw-dump Node' returned non-zero exit status 255.
(checkbox-shell) root@ubuntu-Precision-3680:/snap/checkbox24/392/providers/checkbox-provider-base/bin# pw-dump Node
can't create context: No such file or directory
(checkbox-shell) root@ubuntu-Precision-3680:/snap/checkbox24/392/providers/checkbox-provider-base/bin# echo $?
255

Additional context

EXternal LP bug link: https://bugs.launchpad.net/kobuk/+bug/2087902

@LiaoU3 LiaoU3 added bug Something isn't working Critical labels Dec 5, 2024
@LiaoU3 LiaoU3 mentioned this issue Dec 6, 2024
Copy link

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/CHECKBOX-1691.

This message was autogenerated

@LiaoU3
Copy link
Contributor Author

LiaoU3 commented Jan 3, 2025

It seems like this problem happens not only on 24.10, but also 24.04.

vincent@vincent-XPS-9320:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ ./pipewire_utils.py detect -t audio -c sinks
device id:[47] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_7__sink]
device id:[48] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_6__sink]
device id:[49] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_5__sink]
device id:[50] media.class:[Audio/Sink] node.name:[alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_2__sink]
device id:[95] media.class:[Audio/Sink] node.name:[bluez_output.2C_18_09_D8_A2_3B.1]
vincent@vincent-XPS-9320:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ echo $?
0
vincent@vincent-XPS-9320:/snap/checkbox24/current/providers/checkbox-provider-base/bin$ sudo checkbox.shell 
checkbox runtime shell, type 'exit' to quit the session
(checkbox-shell) root@vincent-XPS-9320:/snap/checkbox24/441/providers/checkbox-provider-base/bin# ./pipewire_utils.py detect -t audio -c sinks
can't connect: Host is down
Traceback (most recent call last):
  File "/snap/checkbox24/441/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 721, in <module>
    sys.exit(pw.function_select(pw._args_parsing()))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/441/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 685, in function_select
    return self.detect_device(args.type, args.clazz)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/441/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 161, in detect_device
    clients = self._get_pw_dump("Node")
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/441/providers/checkbox-provider-base/bin/./pipewire_utils.py", line 104, in _get_pw_dump
    pw_dump = subprocess.check_output(
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/current/usr/lib/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/checkbox24/current/usr/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'pw-dump Node' returned non-zero exit status 255.
(checkbox-shell) root@vincent-XPS-9320:/snap/checkbox24/441/providers/checkbox-provider-base/bin# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.1 LTS
Release:	24.04
Codename:	noble
(checkbox-shell) root@vincent-XPS-9320:/snap/checkbox24/441/providers/checkbox-provider-base/bin# uname -r
6.8.0-49-generic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Critical
Projects
None yet
Development

No branches or pull requests

1 participant