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

[BUG] Panon not working after updating Arch Linux #78

Open
RRM101 opened this issue Dec 20, 2021 · 21 comments
Open

[BUG] Panon not working after updating Arch Linux #78

RRM101 opened this issue Dec 20, 2021 · 21 comments
Labels

Comments

@RRM101
Copy link

RRM101 commented Dec 20, 2021

Desktop (please complete the following information):

  • OS: Arch Linux
  • Version of Plasma Framework is 5.89

Describe the bug
After i updated arch (after a week) panon just stopped visualizing the audio as if there was no audio playing

Any error message shown in the console
QML debugging is enabled. Only use this in a safe environment.
Icon theme "Numix-Circle" not found.
qml: View QML loaded
kf.plasma.quick: Applet preload policy set to 1
Toolbox not loading, toolbox package is either invalid or disabled.
qml: New Containment: ContainmentInterface(0x55f227741260)
QQuickOpenGLShaderEffect: 'source' does not have a matching property!
QQuickOpenGLShaderEffect: 'source' does not have a matching property!
kf.kio.core: Invalid URL: QUrl("")
trying to show an empty dialog
file:///home/rrm1/panon/plasmoid/contents/ui/Spectrum.qml:95:45: QML Image: Unknown error
QProcess: Destroyed while process ("/bin/sh") is still running.
trying to show an empty dialog
QQmlEngine::setContextForObject(): Object already has a QQmlContext
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:65:5: QML SpinBox: Binding loop detected for property "implicitWidth"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:65:5: QML SpinBox: Binding loop detected for property "implicitWidth"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:65:5: QML SpinBox: Binding loop detected for property "implicitHeight"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:29:5: QML SpinBox: Binding loop detected for property "implicitWidth"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:29:5: QML SpinBox: Binding loop detected for property "implicitWidth"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:29:5: QML SpinBox: Binding loop detected for property "implicitHeight"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:65:5: QML SpinBox: Binding loop detected for property "implicitWidth"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:65:5: QML SpinBox: Binding loop detected for property "implicitHeight"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigGeneral.qml:29:5: QML SpinBox: Binding loop detected for property "implicitHeight"
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/ConfigurationAppletPage.qml:35:5: QML Loader: Binding loop detected for property "height"
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:220:38: QML FocusScope: Binding loop detected for property "contentItemMaximumWidth"
QCoreApplication::postEvent: Unexpected null receiver
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/ConfigurationAppletPage.qml:35:5: QML Loader: Binding loop detected for property "height"
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:93: TypeError: Cannot read property 'position' of null
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:92: TypeError: Cannot read property 'background' of null
file:///usr/lib/qt/qml/org/kde/newstuff/qml/Page.qml:155: TypeError: Cannot read property 'useLabel' of null
file:///usr/lib/qt/qml/org/kde/newstuff/qml/Dialog.qml:129: TypeError: Cannot read property 'uploadEnabled' of null
Error: cannot change the containment to AppletsLayout
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/OverlaySheet.qml:570:17: QML ColumnLayout: Binding loop detected for property "height"
file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/ToolBarPageHeader.qml:15:1: QML ToolBarPageHeader: Binding loop detected for property "implicitWidth"
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:93: TypeError: Cannot read property 'position' of null
file:///usr/lib/qt/qml/org/kde/kirigami.2/AbstractApplicationItem.qml:92: TypeError: Cannot read property 'background' of null
file:///usr/lib/qt/qml/org/kde/newstuff/qml/Page.qml:155: TypeError: Cannot read property 'useLabel' of null
file:///usr/lib/qt/qml/org/kde/newstuff/qml/Dialog.qml:129: TypeError: Cannot read property 'uploadEnabled' of null
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigEffect.qml:45: TypeError: Cannot read property 'id' of undefined
QProcess: Destroyed while process ("/bin/sh") is still running.
QProcess: Destroyed while process ("/bin/sh") is still running.
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigEffect.qml:11:1: QML ConfigEffect (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight"
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigEffect.qml:53:9: QML Label: Binding loop detected for property "verticalAlignment"
file:///usr/lib/qt/qml/org/kde/kirigami.2/FormLayout.qml:280:9: QML QQuickItem* (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredWidth"
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/ConfigurationAppletPage.qml:35:5: QML Loader: Binding loop detected for property "height"
file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/BreadcrumbControl.qml:19:5: Unable to assign [undefined] to QQuickItem*
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/configuration/AppletConfiguration.qml:198: TypeError: Cannot read property 'source' of null
file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/BreadcrumbControl.qml:19:5: Unable to assign [undefined] to QQuickItem*
file:///usr/lib/qt/qml/org/kde/kirigami.2/private/globaltoolbar/BreadcrumbControl.qml:19:5: Unable to assign [undefined] to QQuickItem*
file:///home/rrm1/panon/plasmoid/contents/ui/config/ConfigBackend.qml:10:1: QML ConfigBackend (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight"
QProcess: Destroyed while process ("/bin/sh") is still running.
qml:
qml: Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/rrm1/panon/plasmoid/contents/scripts/panon/backend/client.py", line 53, in
spectrum_source = source.SoundCardSource(spectrum.NUM_CHANNEL, sample_rate, arguments['--device-index'], cfg_fps)
File "/home/rrm1/panon/plasmoid/contents/scripts/panon/backend/source.py", line 113, in init
self.start()
File "/home/rrm1/panon/plasmoid/contents/scripts/panon/backend/source.py", line 172, in start
stream.enter()
File "/home/rrm1/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py", line 638, in enter
if isinstance(self.channels, collections.Iterable):
AttributeError: module 'collections' has no attribute 'Iterable'

trying to show an empty dialog
trying to show an empty dialog
file:///usr/share/plasma/shells/org.kde.plasma.plasmoidviewershell/contents/views/Desktop.qml:75: TypeError: Cannot read property 'largeSpacing' of null

@RRM101 RRM101 added the bug label Dec 20, 2021
@parov0z
Copy link

parov0z commented Dec 20, 2021

Manjaro on testing and stable branches - same bug

@teruyooh
Copy link

Same thing happened to me a few days ago. I thought it was pipewire's fault but after going back to a previous snapshot and updating only pipewire, panon was still working, but completly stopped after a full system update. I'm using Arch with latest stable kernel.

@bpc1
Copy link

bpc1 commented Jan 1, 2022

Python 3.10 made collections.Iterable obsolete so you have to import collections.abc and call to collections.abc.Iterable now.

Since rbn42 seems to be inactive for now you can fix this by opening /home/(name)/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py

add line import collections.abc
change all collections.Iterable to collections.abc.Iterable

@RafaelCS-Aula
Copy link

Python 3.10 made collections.Iterable obsolete so you have to import collections.abc and call to collections.abc.Iterable now.

Since rbn42 seems to be inactive for now you can fix this by opening /home/(name)/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py

add line import collections.abc change all collections.Iterable to collections.abc.Iterable

This fixed it for me, tough the file was in ~/.local/share/plasma/plasmoids/panon/contents/scripts/soundcard/pulseaudio.py

@RRM101
Copy link
Author

RRM101 commented Jan 3, 2022

Python 3.10 made collections.Iterable obsolete so you have to import collections.abc and call to collections.abc.Iterable now.

Since rbn42 seems to be inactive for now you can fix this by opening /home/(name)/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py

add line import collections.abc change all collections.Iterable to collections.abc.Iterable

Thanks it worked

@RRM101 RRM101 closed this as completed Jan 3, 2022
@cyqsimon
Copy link

cyqsimon commented Jan 7, 2022

This is an issue of the dependency soundcard, and has been recently patched. It should be fixed with its next release.

If you want this issue fixed immediately, you can go ahead and apply the patch by @bpc1 manually. Also note that from the looks of the commit, import collections.abc seems redundant, although I'm no Python expert. Here's a convenient sed command to apply the patch to all scripts:

cd <soundcard directory>
sed -i 's/collections.Iterable/collections.abc.Iterable/g' *.py

And for anyone who cannot find pulseaudio.py in their home directory, your soundcard package (or python-soundcard) may be globally installed. You can check error messages in plasmashell logs to see which file is actually used. See https://community.kde.org/Plasma/Debugging#Check_widgets_dynamically. For me (Manjaro), it is /usr/lib/python3.10/site-packages/soundcard/pulseaudio.py.

@ClockWork-abc
Copy link

This is an issue of the dependency soundcard, and has been recently patched. It should be fixed with its next release.

If you want this issue fixed immediately, you can go ahead and apply the patch by @bpc1 manually. Also note that from the looks of the commit, import collections.abc seems redundant, although I'm no Python expert. Here's a convenient sed command to apply the patch to all scripts:

cd <soundcard directory>
sed -i 's/collections.Iterable/collections.abc.Iterable/g' *.py

And for anyone who cannot find pulseaudio.py in their home directory, your soundcard package (or python-soundcard) may be globally installed. You can check error messages in plasmashell logs to see which file is actually used. See https://community.kde.org/Plasma/Debugging#Check_widgets_dynamically. For me (Manjaro), it is /usr/lib/python3.10/site-packages/soundcard/pulseaudio.py.

This worked for me! Thank you so much!

@RRM101
Copy link
Author

RRM101 commented Feb 22, 2022

reopening this for anyone who needs this

@RRM101 RRM101 reopened this Feb 22, 2022
@ViejoRS
Copy link

ViejoRS commented Mar 9, 2022

Python 3.10 made collections.Iterable obsolete so you have to import collections.abc and call to collections.abc.Iterable now.

Since rbn42 seems to be inactive for now you can fix this by opening /home/(name)/panon/plasmoid/contents/scripts/soundcard/pulseaudio.py

add line import collections.abc change all collections.Iterable to collections.abc.Iterable

This is an issue of the dependency soundcard, and has been recently patched. It should be fixed with its next release.

If you want this issue fixed immediately, you can go ahead and apply the patch by @bpc1 manually. Also note that from the looks of the commit, import collections.abc seems redundant, although I'm no Python expert. Here's a convenient sed command to apply the patch to all scripts:

cd <soundcard directory>
sed -i 's/collections.Iterable/collections.abc.Iterable/g' *.py

And for anyone who cannot find pulseaudio.py in their home directory, your soundcard package (or python-soundcard) may be globally installed. You can check error messages in plasmashell logs to see which file is actually used. See https://community.kde.org/Plasma/Debugging#Check_widgets_dynamically. For me (Manjaro), it is /usr/lib/python3.10/site-packages/soundcard/pulseaudio.py.

Thank you both very much for this solution - it worked for me.

Would anyone happen to know if there's any adverse effects we could get from editing this file? Especially in the case above with Manjaro, where we're editing the global soundcard files? So far I haven't noticed any issues, but wanted to ask.

@yinfatuation
Copy link

you all are my heroes

@yinfatuation
Copy link

you all are my heroes , its work (manjaro)

@gesangtome
Copy link

Yeah, I have the same problem with Fedora, now I'm going to try the solution above

@gesangtome
Copy link

@ViejoRS
Works for me. Great, my panon is back to life.

@alexleduc76
Copy link

This is an issue of the dependency soundcard, and has been recently patched. It should be fixed with its next release.

That commit was from December 2021 but that Soundcard dependency has not had a released since March 14, 2021 so it would explain why more people have this issue as they install newer versions of Python.

@KenwoodFox
Copy link

Patch above worked, thanks so much, is there a PR open for this?

@InterstellarOne
Copy link

Where would this folder be located on Kubuntu? I can't find it.

@flying-sheep
Copy link
Contributor

I updated the AUR package to depend on python-soundcard>=0.4.2 and removed the included submodule version. So everyone on Arch Linux should have it working now.

@dotarjun
Copy link

dotarjun commented Aug 5, 2022

Ran into this problem. The above solution doesnt work. I am on Manjaro

@flying-sheep
Copy link
Contributor

Maybe Manjaro has different packages? I assure you a dependency on python-soundcard>=0.4.2 will fix this, as that version doesn’t have the faulty import anymore.

@dotarjun
Copy link

dotarjun commented Aug 8, 2022

I'm using 0.4.2-1. Still doesn't work.

@flying-sheep
Copy link
Contributor

flying-sheep commented Aug 8, 2022

You don’t, on soundcard 0.4.2 this is fixed: https://github.com/bastibe/SoundCard/blob/0.4.2/soundcard/pulseaudio.py#L642

But on Panon 0.4.6 (newest version as of writing), the soundcard submodule is still on an unpatched commit: https://github.com/bastibe/SoundCard/blob/745771575e56ab4c5ebf7118816e457c8e6b1b3d/soundcard/pulseaudio.py#L638

So if you don’t use a devendored panon (i.e. with the third_party directory removed and importing system libraries), Panon might still import from that unpatched submodule.

@flying-sheep flying-sheep mentioned this issue Aug 8, 2022
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.