panon icon indicating copy to clipboard operation
panon copied to clipboard

[BUG] Panon not working after updating Arch Linux

Open RRM101 opened this issue 2 years ago • 27 comments

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 avatar Dec 20 '21 06:12 RRM101

Manjaro on testing and stable branches - same bug

parov0z avatar Dec 20 '21 16:12 parov0z

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.

teruyooh avatar Dec 22 '21 03:12 teruyooh

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

bpc1 avatar Jan 01 '22 22:01 bpc1

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

RafaelCS-Aula avatar Jan 02 '22 01:01 RafaelCS-Aula

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 avatar Jan 03 '22 07:01 RRM101

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.

cyqsimon avatar Jan 07 '22 10:01 cyqsimon

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!

ClockWork-abc avatar Feb 19 '22 01:02 ClockWork-abc

reopening this for anyone who needs this

RRM101 avatar Feb 22 '22 03:02 RRM101

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.

ViejoRS avatar Mar 09 '22 16:03 ViejoRS

you all are my heroes

yinfatuation avatar Mar 15 '22 15:03 yinfatuation

you all are my heroes , its work (manjaro)

yinfatuation avatar Mar 15 '22 15:03 yinfatuation

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

gesangtome avatar Mar 24 '22 17:03 gesangtome

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

gesangtome avatar Mar 24 '22 17:03 gesangtome

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.

alexleduc76 avatar Mar 25 '22 11:03 alexleduc76

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

KenwoodFox avatar Apr 27 '22 01:04 KenwoodFox

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

InterstellarOne avatar May 26 '22 17:05 InterstellarOne

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.

flying-sheep avatar Jul 03 '22 13:07 flying-sheep

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

dotarjun avatar Aug 05 '22 07:08 dotarjun

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.

flying-sheep avatar Aug 05 '22 11:08 flying-sheep

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

dotarjun avatar Aug 08 '22 07:08 dotarjun

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 avatar Aug 08 '22 08:08 flying-sheep