FrancescoCeruti / linux-show-player

Linux Show Player - Cue player designed for stage productions
https://linux-show-player.org
GNU General Public License v3.0
204 stars 49 forks source link

Segmentation Fault in pyalsa with python 3.12 #313

Closed bgoldstone closed 1 month ago

bgoldstone commented 3 months ago

Describe the bug When running linux-show-player I get a segmentation fault.

2024-03-15 15:18:19.891 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/lisp.json
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
2024-03-15 15:18:19.945 root    INFO    Using "en_US" locale -> ['en-US']
2024-03-15 15:18:19.945 lisp.ui.ui_utils    DEBUG   No translation for "qtbase" in /home/bgoldstone/.cache/pypoetry/virtualenvs/linux-show-player-tWSulkR_-py3.12/lib64/python3.12/site-packages/PyQt5/Qt5/translations
2024-03-15 15:18:19.945 lisp.ui.ui_utils    DEBUG   Installed translation for "base" from /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/i18n/qm
2024-03-15 15:18:19.946 root    INFO    Using "Dark" theme
2024-03-15 15:18:19.946 root    INFO    Using "Numix" icon theme
2024-03-15 15:18:19.983 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/controller.json
2024-03-15 15:18:19.983 lisp.ui.ui_utils    DEBUG   No translation for "controller" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/controller/i18n
2024-03-15 15:18:19.994 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/replay_gain.json
2024-03-15 15:18:19.994 lisp.ui.ui_utils    DEBUG   No translation for "replay_gain" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/replay_gain/i18n
2024-03-15 15:18:19.995 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/rename_cues.json
2024-03-15 15:18:19.995 lisp.ui.ui_utils    DEBUG   No translation for "rename_cues" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/rename_cues/i18n
2024-03-15 15:18:20.018 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/cache_manager.json
2024-03-15 15:18:20.019 lisp.ui.ui_utils    DEBUG   No translation for "cache_manager" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/cache_manager/i18n
2024-03-15 15:18:20.063 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/network.json
2024-03-15 15:18:20.064 lisp.ui.ui_utils    DEBUG   No translation for "network" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/network/i18n
2024-03-15 15:18:20.069 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/list_layout.json
2024-03-15 15:18:20.069 lisp.ui.ui_utils    DEBUG   No translation for "list_layout" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/list_layout/i18n
2024-03-15 15:18:20.105 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/synchronizer.json
2024-03-15 15:18:20.105 lisp.ui.ui_utils    DEBUG   No translation for "synchronizer" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/synchronizer/i18n
Fatal Python error: Segmentation fault

Current thread 0x00007f88bdeea740 (most recent call first):
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1289 in create_module
  File "<frozen importlib._bootstrap>", line 813 in module_from_spec
  File "<frozen importlib._bootstrap>", line 921 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1415 in _handle_fromlist
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/midi/port_monitor.py", line 23 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 995 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/midi/midi.py", line 29 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 995 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/midi/__init__.py", line 1 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 995 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/loading.py", line 166 in import_module
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/loading.py", line 65 in load_modules
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/loading.py", line 124 in load_classes
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/plugins_manager.py", line 62 in load_plugins
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/__init__.py", line 30 in load_plugins
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/main.py", line 156 in main
  File "<string>", line 1 in <module>

Extension modules: PyQt5.QtCore, PyQt5.QtGui, PyQt5.QtWidgets, gi._gi, cairo._cairo, gi._gi_cairo, falcon.constants, falcon.util.deprecation, falcon.status_codes, falcon.cyutil.uri, falcon.util.uri, falcon.uri, falcon.cyutil.misc, falcon.util.misc, falcon.util.structures, falcon.util.time, falcon.http_error, falcon.errors, falcon.cyutil.reader, falcon.app_helpers, falcon.routing.converters, falcon.routing.util, falcon.routing.compiled, falcon.routing.static, falcon.http_status, falcon.stream, falcon.request_helpers, falcon.forwarded, falcon.media.base, falcon.media.json, falcon.media.multipart, falcon.media.urlencoded, falcon.vendor.mimeparse.mimeparse, falcon.media.handlers, falcon.media.msgpack, falcon.request, falcon.response_helpers, falcon.response, falcon.middleware, falcon.app, falcon.redirects, falcon.version, charset_normalizer.md (total: 43)
Segmentation fault (core dumped)

To Reproduce

  1. Install proper Dependencies
  2. run poetry install
  3. run poetry run linux-show-player Expected behavior Application launches sucessfully

Linux Show Player version:

OS Version

Additional context I tried editing plugin_manager.py and edited line 24 to the below and the application successfully ran. Below is the debug from that run.

except ImportError as e:
    alsaseq = False
    print(e)
2024-03-15 15:18:36.539 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/lisp.json
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
2024-03-15 15:18:36.594 root    INFO    Using "en_US" locale -> ['en-US']
2024-03-15 15:18:36.594 lisp.ui.ui_utils    DEBUG   No translation for "qtbase" in /home/bgoldstone/.cache/pypoetry/virtualenvs/linux-show-player-tWSulkR_-py3.12/lib64/python3.12/site-packages/PyQt5/Qt5/translations
2024-03-15 15:18:36.595 lisp.ui.ui_utils    DEBUG   Installed translation for "base" from /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/i18n/qm
2024-03-15 15:18:36.595 root    INFO    Using "Dark" theme
2024-03-15 15:18:36.596 root    INFO    Using "Numix" icon theme
2024-03-15 15:18:36.633 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/controller.json
2024-03-15 15:18:36.633 lisp.ui.ui_utils    DEBUG   No translation for "controller" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/controller/i18n
2024-03-15 15:18:36.644 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/replay_gain.json
2024-03-15 15:18:36.644 lisp.ui.ui_utils    DEBUG   No translation for "replay_gain" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/replay_gain/i18n
2024-03-15 15:18:36.645 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/rename_cues.json
2024-03-15 15:18:36.645 lisp.ui.ui_utils    DEBUG   No translation for "rename_cues" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/rename_cues/i18n
2024-03-15 15:18:36.665 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/cache_manager.json
2024-03-15 15:18:36.665 lisp.ui.ui_utils    DEBUG   No translation for "cache_manager" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/cache_manager/i18n
2024-03-15 15:18:36.706 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/network.json
2024-03-15 15:18:36.707 lisp.ui.ui_utils    DEBUG   No translation for "network" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/network/i18n
2024-03-15 15:18:36.712 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/list_layout.json
2024-03-15 15:18:36.712 lisp.ui.ui_utils    DEBUG   No translation for "list_layout" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/list_layout/i18n
2024-03-15 15:18:36.744 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/synchronizer.json
2024-03-15 15:18:36.744 lisp.ui.ui_utils    DEBUG   No translation for "synchronizer" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/synchronizer/i18n
2024-03-15 15:18:36.754 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/midi.json
2024-03-15 15:18:36.754 lisp.ui.ui_utils    DEBUG   No translation for "midi" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/midi/i18n
2024-03-15 15:18:36.758 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/cart_layout.json
2024-03-15 15:18:36.758 lisp.ui.ui_utils    DEBUG   No translation for "cart_layout" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/cart_layout/i18n
2024-03-15 15:18:36.759 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/presets.json
2024-03-15 15:18:36.759 lisp.ui.ui_utils    DEBUG   No translation for "presets" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/presets/i18n
2024-03-15 15:18:36.761 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/osc.json
2024-03-15 15:18:36.762 lisp.ui.ui_utils    DEBUG   No translation for "osc" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/osc/i18n
2024-03-15 15:18:36.763 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/triggers.json
2024-03-15 15:18:36.763 lisp.ui.ui_utils    DEBUG   No translation for "triggers" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/triggers/i18n
2024-03-15 15:18:36.765 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/timecode.json
2024-03-15 15:18:36.765 lisp.ui.ui_utils    DEBUG   No translation for "timecode" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/timecode/i18n
2024-03-15 15:18:36.772 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/media_info.json
2024-03-15 15:18:36.772 lisp.ui.ui_utils    DEBUG   No translation for "media_info" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/media_info/i18n
2024-03-15 15:18:36.772 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/gst_backend.json
2024-03-15 15:18:36.772 lisp.ui.ui_utils    DEBUG   No translation for "gst_backend" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/gst_backend/i18n
2024-03-15 15:18:36.772 lisp.core.configuration DEBUG   Configuration read from /home/bgoldstone/.config/LinuxShowPlayer/0.6/action_cues.json
2024-03-15 15:18:36.773 lisp.ui.ui_utils    DEBUG   No translation for "action_cues" in /home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/action_cues/i18n
2024-03-15 15:18:36.773 lisp.ui.mainwindow  DEBUG   Registered cue menu: "MIDI Cue"
2024-03-15 15:18:36.776 lisp.plugins.midi.midi  INFO    Connecting to MIDI port: 'Midi Through:Midi Through Port-0 14:0'
2024-03-15 15:18:36.776 lisp.plugins.midi.midi  INFO    Connecting to MIDI port: 'Midi Through:Midi Through Port-0 14:0'
2024-03-15 15:18:36.777 lisp.plugins.midi.port_monitor  DEBUG   Started monitoring ALSA MIDI ports
2024-03-15 15:18:36.777 lisp.core.plugin    INFO    Plugin loaded: "MIDI"
2024-03-15 15:18:36.777 lisp.ui.mainwindow  DEBUG   Registered cue menu: "OSC Cue"
2024-03-15 15:18:36.778 lisp.plugins.osc.osc_server INFO    OSC server started at osc.udp://BGOLDSTONEL:9000/
2024-03-15 15:18:36.778 lisp.core.plugin    INFO    Plugin loaded: "OSC"
2024-03-15 15:18:36.781 lisp.core.plugin    INFO    Plugin loaded: "Controller"
2024-03-15 15:18:36.781 lisp.core.plugin    INFO    Plugin loaded: "ReplayGain / Normalization"
2024-03-15 15:18:36.781 lisp.core.plugin    INFO    Plugin loaded: "RenameCues"
2024-03-15 15:18:36.782 lisp.core.plugin    INFO    Plugin loaded: "CacheManager"
2024-03-15 15:18:36.785 lisp.plugins.network.api    DEBUG   New end-point: /layout/action
2024-03-15 15:18:36.786 lisp.plugins.network.api    DEBUG   New end-point: /layout/go
2024-03-15 15:18:36.787 lisp.plugins.network.api    DEBUG   New end-point: /cues/{cue_id}
2024-03-15 15:18:36.787 lisp.plugins.network.api    DEBUG   New end-point: /cues/{cue_id}/action
2024-03-15 15:18:36.787 lisp.plugins.network.api    DEBUG   New end-point: /cues
2024-03-15 15:18:36.787 lisp.plugins.network.api    DEBUG   New end-point: /cues/{cue_id}/state
2024-03-15 15:18:36.788 lisp.plugins.network.server INFO    Start serving network API at: http://0.0.0.0:9090/
2024-03-15 15:18:36.788 lisp.core.plugin    INFO    Plugin loaded: "Network"
2024-03-15 15:18:36.788 lisp.core.plugin    INFO    Plugin loaded: "List Layout"
2024-03-15 15:18:36.788 lisp.core.plugin    INFO    Plugin loaded: "Synchronizer"
2024-03-15 15:18:36.789 lisp.core.plugin    INFO    Plugin loaded: "Cart Layout"
2024-03-15 15:18:36.789 lisp.core.plugin    INFO    Plugin loaded: "Preset"
2024-03-15 15:18:36.789 lisp.core.plugin    INFO    Plugin loaded: "Triggers"
2024-03-15 15:18:36.789 lisp.core.loading   WARNING Cannot load python module: "artnet"
Traceback (most recent call last):
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/loading.py", line 65, in load_modules
    yield mod_name, import_module(mod_path)
                    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/core/loading.py", line 166, in import_module
    return __import__(module_path, globals(), locals(), ["*"])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bgoldstone/Applications/linux-show-player-0.6.2/lisp/plugins/timecode/protocols/artnet.py", line 21, in <module>
    from ola.OlaClient import OlaClient, OLADNotRunningException
ModuleNotFoundError: No module named 'ola'
2024-03-15 15:18:36.790 lisp.core.plugin    INFO    Plugin loaded: "Timecode"
2024-03-15 15:18:36.804 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Audio cue (from file)"
2024-03-15 15:18:36.815 lisp.core.plugin    INFO    Plugin loaded: "GStreamer Backend"
2024-03-15 15:18:36.816 lisp.core.plugin    INFO    Plugin loaded: "Media-Cue information dialog"
2024-03-15 15:18:36.816 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Volume Control"
2024-03-15 15:18:36.817 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Seek Cue"
2024-03-15 15:18:36.817 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Index Action"
2024-03-15 15:18:36.818 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Stop-All"
2024-03-15 15:18:36.818 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Collection Cue"
2024-03-15 15:18:36.819 lisp.ui.mainwindow  DEBUG   Registered cue menu: "Command Cue"
2024-03-15 15:18:36.819 lisp.core.plugin    INFO    Plugin loaded: "Action Cues"
^C2024-03-15 15:18:39.029   lisp.core.plugins_manager   INFO    Plugin terminated: "Controller"
2024-03-15 15:18:39.029 lisp.core.plugins_manager   INFO    Plugin terminated: "ReplayGain"
2024-03-15 15:18:39.029 lisp.core.plugins_manager   INFO    Plugin terminated: "RenameCues"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "CacheManager"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "Network"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "ListLayout"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "Synchronizer"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "Midi"
2024-03-15 15:18:39.030 lisp.core.plugins_manager   INFO    Plugin terminated: "CartLayout"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "Presets"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "Osc"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "Triggers"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "Timecode"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "MediaInfo"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "GstBackend"
2024-03-15 15:18:39.031 lisp.core.plugins_manager   INFO    Plugin terminated: "ActionCues"
2024-03-15 15:18:39.033 lisp.plugins.midi.port_monitor  DEBUG   ALSA MIDI port deleted from system.

Screenshots image

FrancescoCeruti commented 3 months ago

Can you reproduce the error consistently? The change you made shouldn't make any difference, and on the second run the import worked successfully.

bgoldstone commented 3 months ago

Can you reproduce the error consistently? The change you made shouldn't make any difference, and on the second run the import worked successfully.

That is correct. I have tried running this multiple times and these are the result is that it works with modified code and does not work with that modification.

I've tried running it back to back with modified code and unmodified code and then tried it again and still got the same results.

It might be a python issue itself.

Please let me know if you have any additional follow-up questions.

FrancescoCeruti commented 3 months ago

Thanks. I'll try to reproduce the error and do some debug :lady_beetle:

FrancescoCeruti commented 3 months ago

The problem is introduced by Python 3.12, not sure by what specifically, I'm able to trigger the crash by simply from pyalsa import alsasq, depending on the conditions, even with the try/except changes it still crashes.

I've opened an issue https://github.com/alsa-project/alsa-python/issues/9

FrancescoCeruti commented 2 months ago

Small update, as a temporary solution, I've added a condition to skip pyalsa installation when python is >= 3.12 ... at least we avoid crashes

FrancescoCeruti commented 1 month ago

A fix has been merged upstream alsa-project/alsa-python@cb75f5cdba0a29bdfa43eb56285da4917d2941a9, hopefully we'll se a new release soon.