Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content

Revert "feat: implement non-polling, interruptible waiting of gui instruction...

wyzula_j requested to merge revert-abc6caa2 into main

Description

Caused crash with starting bec with PyQt6 installed. Upon starting BEC after installing it with pyqt6 dependencies, the following error pops up.

ImportError                               Traceback (most recent call last)
File ~/work_psi_awi/bec_workspace/bec/bec_ipython_client/bec_ipython_client/bec_startup.py:32
     30 if bec.started and not _main_dict["args"].nogui and _BECDockArea is not None:
     31     gui = bec.gui = _BECDockArea()
---> 32     gui.show()
     33     if gui.auto_updates is None:
     34         AutoUpdates.create_default_dock = True

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/client_utils.py:168, in BECGuiClientMixin.show(self)
    166 if self._process is None or self._process.poll() is not None:
    167     self._start_update_script()
--> 168     self._process, self._process_output_processing_thread = _start_plot_process(
    169         self._gui_id, self.__class__, self._client._service_config.redis
    170     )
    171 while not self.gui_is_alive():
    172     print("Waiting for GUI to start...")

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/client_utils.py:89, in _start_plot_process(gui_id, gui_class, config)
     85 """
     86 Start the plot in a new process.
     87 """
     88 # pylint: disable=subprocess-run-check
---> 89 monitor_module = importlib.import_module("bec_widgets.cli.server")
     90 monitor_path = monitor_module.__file__
     92 command = [
     93     sys.executable,
     94     "-u",
   (...)
    101     gui_class.__name__,
    102 ]

File ~/.pyenv/versions/3.11.1/lib/python3.11/importlib/__init__.py:126, in import_module(name, package)
    124             break
    125         level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)

File <frozen importlib._bootstrap>:1206, in _gcd_import(name, package, level)

File <frozen importlib._bootstrap>:1178, in _find_and_load(name, import_)

File <frozen importlib._bootstrap>:1149, in _find_and_load_unlocked(name, import_)

File <frozen importlib._bootstrap>:690, in _load_unlocked(spec)

File <frozen importlib._bootstrap_external>:940, in exec_module(self, module)

File <frozen importlib._bootstrap>:241, in _call_with_frames_removed(f, *args, **kwds)

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/server.py:11
      9 from bec_widgets.utils import BECDispatcher
     10 from bec_widgets.utils.bec_connector import BECConnector
---> 11 from bec_widgets.widgets.dock.dock_area import BECDockArea
     12 from bec_widgets.widgets.figure import BECFigure
     14 messages = lazy_import("bec_lib.messages")

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/__init__.py:2
      1 from .buttons import StopButton
----> 2 from .dock import BECDock, BECDockArea
      3 from .figure import BECFigure, FigureConfig
      4 from .scan_control import ScanControl

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/dock/__init__.py:1
----> 1 from .dock import BECDock
      2 from .dock_area import BECDockArea

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/dock/dock.py:8
      5 from pydantic import Field
      6 from pyqtgraph.dockarea import Dock
----> 8 from bec_widgets.cli.rpc_wigdet_handler import RPCWidgetHandler
      9 from bec_widgets.utils import BECConnector, ConnectionConfig, GridLayoutManager
     11 if TYPE_CHECKING:

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/cli/rpc_wigdet_handler.py:5
      2 from bec_widgets.widgets.figure import BECFigure
      3 from bec_widgets.widgets.spiral_progress_bar.spiral_progress_bar import SpiralProgressBar
----> 5 from bec_widgets.widgets.website.website import WebsiteWidget
      6 from bec_widgets.widgets.text_box.text_box import TextBox
      9 class RPCWidgetHandler:

File ~/work_psi_awi/bec_workspace/bec_widgets/bec_widgets/widgets/website/website.py:2
      1 from qtpy.QtCore import QUrl
----> 2 from qtpy.QtWebEngineWidgets import QWebEngineView
      3 from qtpy.QtWidgets import QApplication
      5 from bec_widgets.utils import BECConnector

File ~/.pyenv/versions/3.11.1/envs/bec/lib/python3.11/site-packages/qtpy/QtWebEngineWidgets.py:48
     41 try:
     42     from PyQt6.QtWebEngineCore import (
     43         QWebEnginePage,
     44         QWebEngineProfile,
     45         QWebEngineScript,
     46         QWebEngineSettings,
     47     )
---> 48     from PyQt6.QtWebEngineWidgets import *
     49 except ModuleNotFoundError as error:
     50     raise QtModuleNotInstalledError(
     51         name="QtWebEngineWidgets",
     52         missing_package="PyQt6-WebEngine",
     53     ) from error

ImportError: QtWebEngineWidgets must be imported or Qt.AA_ShareOpenGLContexts must be set before a QCoreApplication instance is created
Edited by appel_c

Merge request reports

Loading