fractal-analytics-platform / fractal-containers

Containers for testing Fractal
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Fix "GL ES 2.0 library not found" #32

Open tcompa opened 10 months ago

tcompa commented 10 months ago

This is triggered by example 02, which uses the napari-workflows-wrapper Fractal task, which uses napari and then vispy.

TASK ERROR:Task id: 16 (Napari workflows wrapper), e.workflow_task_order=9
TRACEBACK:
2023-10-20 07:03:41,070; INFO; START napari_workflows_wrapper task
WARNING: Could not load OpenGL library.
2023-10-20 07:03:41,221; WARNING; Could not load OpenGL library.
/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:10: UserWarning: Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.
  warnings.warn("Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.")
/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:221: UserWarning: Error in monkey patching napari. Please let @haesleinleinhuepf know at
https://github.com/haesleinhuepf/napari-tools-menu/issues
  warnings.warn("Error in monkey patching napari. Please let @haesleinleinhuepf know at\nhttps://github.com/haesleinhuepf/napari-tools-menu/issues")
Traceback (most recent call last):
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 655, in <module>
    run_fractal_task(
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/_utils.py", line 79, in run_fractal_task
    metadata_update = task_function(**pars)
                      ^^^^^^^^^^^^^^^^^^^^^
  File "pydantic/decorator.py", line 40, in pydantic.decorator.validate_arguments.validate.wrapper_function
    from contextlib import _GeneratorContextManager
  File "pydantic/decorator.py", line 134, in pydantic.decorator.ValidatedFunction.call

  File "pydantic/decorator.py", line 206, in pydantic.decorator.ValidatedFunction.execute

  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 141, in napari_workflows_wrapper
    wf: napari_workflows.Worfklow = load_workflow(workflow_file)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_workflows/_io_yaml_v1.py", line 36, in load_workflow
    return unsafe_load(stream)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/__init__.py", line 145, in unsafe_load
    return load(stream, UnsafeLoader)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/__init__.py", line 81, in load
    return loader.get_single_data()
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 51, in get_single_data
    return self.construct_document(node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 60, in construct_document
    for dummy in generator:
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 413, in construct_yaml_map
    value = self.construct_mapping(node)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 218, in construct_mapping
    return super().construct_mapping(node, deep=deep)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 143, in construct_mapping
    value = self.construct_object(value_node, deep=deep)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 100, in construct_object
    data = constructor(self, node)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 523, in construct_python_tuple
    return tuple(self.construct_sequence(node))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 129, in construct_sequence
    return [self.construct_object(child, deep=deep)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 129, in <listcomp>
    return [self.construct_object(child, deep=deep)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 102, in construct_object
    data = constructor(self, tag_suffix, node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 570, in construct_python_name
    return self.find_python_name(suffix, node.start_mark)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 719, in find_python_name
    return super(UnsafeConstructor, self).find_python_name(name, mark, unsafe=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/yaml/constructor.py", line 551, in find_python_name
    __import__(module_name)
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_segment_blobs_and_things_with_membranes/__init__.py", line 23, in <module>
    from napari_time_slicer import time_slicer
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_time_slicer/__init__.py", line 4, in <module>
    from ._function import napari_experimental_provide_function
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari_time_slicer/_function.py", line 7, in <module>
    from napari.layers import Image, Labels, Layer
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/layers/__init__.py", line 9, in <module>
    from napari.layers.base import Layer
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/layers/base/__init__.py", line 1, in <module>
    from napari.layers.base._base_constants import ActionType
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/layers/base/_base_constants.py", line 4, in <module>
    from napari.utils.misc import StringEnum
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/utils/__init__.py", line 2, in <module>
    from napari.utils.colormaps import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/utils/colormaps/__init__.py", line 2, in <module>
    from napari.utils.colormaps.colormap import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/utils/colormaps/colormap.py", line 7, in <module>
    from napari.utils.color import ColorArray
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/utils/color.py", line 7, in <module>
    from napari.utils.colormaps.standardize_color import transform_color
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/napari/utils/colormaps/standardize_color.py", line 27, in <module>
    from vispy.color import ColorArray, get_color_dict, get_color_names
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/vispy/color/__init__.py", line 12, in <module>
    from .colormap import (Colormap, BaseColormap,  # noqa
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/vispy/color/colormap.py", line 14, in <module>
    import vispy.gloo
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/vispy/gloo/__init__.py", line 47, in <module>
    from . import gl  # noqa
    ^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/vispy/gloo/gl/__init__.py", line 230, in <module>
    from . import es2 as default_backend  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal_tasks_core0.12.2/venv/lib/python3.11/site-packages/vispy/gloo/gl/es2.py", line 48, in <module>
    raise OSError('GL ES 2.0 library not found')
OSError: GL ES 2.0 library not found
tcompa commented 9 months ago

Hitting this again:


        <div><main><nav class="bg-light border-bottom"><div class="container d-flex flex-wrap"><ul class="nav me-auto"><li class="nav-item"><a href="http://localhost:5173/" class="nav-link">Home</a></li> <li class="nav-item"><a href="http://localhost:5173/projects" class="nav-link">Projects</a></li> <li class="nav-item"><a href="http://localhost:5173/tasks" class="nav-link">Tasks</a></li> <li class="nav-item"><a href="http://localhost:5173/jobs" class="nav-link">Jobs</a></li></ul> <ul class="nav"><span class="navbar-text">admin@fractal.xy</span> <li class="nav-item"><a href="http://localhost:5173/auth/logout" class="nav-link">Logout</a></li></ul></div></nav> <div class="container p-4"><div class="container"><div class="d-flex justify-content-between align-items-center my-3"><h1>Jobs of user "admin@fractal.xy"</h1></div> <div class="d-flex justify-content-end align-items-center my-3"><div></div></div></div></div></main></div>  <div id="jobUpdatesError"></div> 
Id ↓ | Start ⇅ | End ⇅ | Project ⇅ | Workflow ⇅ | Input dataset ⇅ | Output dataset ⇅ | Status ⇅ | Options
-- | -- | -- | -- | -- | -- | -- | -- | --

  <div class="modal show" id="workflowJobLogsModal" tabindex="-1" style="display: block;" aria-modal="true" role="dialog"><div class="modal-dialog modal-fullscreen"><div class="modal-content"><div class="modal-header"><h1 class="h5 modal-title">Workflow Job logs</h1> </div></div></div></div><div><main><div class="container p-4"><div class="container"><div class="modal show" id="workflowJobLogsModal" tabindex="-1" style="display: block;" aria-modal="true" role="dialog"><div class="modal-dialog modal-fullscreen"><div class="modal-content"><div class="modal-body bg-tertiary text-secondary"><div id="workflowJobLogsError"></div> <pre>TASK ERROR:Task id: 16 (Napari workflows wrapper), e.workflow_task_order=9
TRACEBACK:
2023-11-15 16:13:04,192; INFO; START napari_workflows_wrapper task
WARNING: Could not load OpenGL library.
2023-11-15 16:13:04,280; WARNING; Could not load OpenGL library.
/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:10: UserWarning: Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.
  warnings.warn("Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.")
/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:221: UserWarning: Error in monkey patching napari. Please let @haesleinleinhuepf know at
https://github.com/haesleinhuepf/napari-tools-menu/issues
  warnings.warn("Error in monkey patching napari. Please let @haesleinleinhuepf know at\nhttps://github.com/haesleinhuepf/napari-tools-menu/issues")
2023-11-15 16:13:04,578; INFO; Loaded workflow from /home/fractal_share/fractal-demos/examples/02_cardio_small/np_wf_2_label.yaml
2023-11-15 16:13:04,578; INFO; This workflow acts at level=0
2023-11-15 16:13:04,578; INFO; Is the current workflow a labeling one? True
2023-11-15 16:13:04,592; INFO; Completed reading ROI table well_ROI_table, found 1 ROIs.
2023-11-15 16:13:04,593; WARNING; Input slice_img has shape (1, 2160, 2560) but expected_dimensions=3
2023-11-15 16:13:04,593; INFO; Prepared input with name='slice_img' and params=NapariWorkflowsInput(type='image', label_name=None, channel=Channel(wavelength_id='A01_C01', label=None))
2023-11-15 16:13:04,593; WARNING; Input slice_img_c2 has shape (1, 2160, 2560) but expected_dimensions=3
2023-11-15 16:13:04,594; INFO; Prepared input with name='slice_img_c2' and params=NapariWorkflowsInput(type='image', label_name=None, channel=Channel(wavelength_id='A02_C03', label=None))
2023-11-15 16:13:04,594; INFO; input_image_arrays={'slice_img': dask.array&lt;getitem, shape=(1, 2160, 2560), dtype=uint16, chunksize=(1, 2160, 2560), chunktype=numpy.ndarray&gt;, 'slice_img_c2': dask.array&lt;getitem, shape=(1, 2160, 2560), dtype=uint16, chunksize=(1, 2160, 2560), chunktype=numpy.ndarray&gt;}
2023-11-15 16:13:04,594; INFO; label_shape=(1, 2160, 2560)
2023-11-15 16:13:04,594; INFO; label_chunksize=(1, 2160, 2560)
2023-11-15 16:13:04,595; INFO; Helper function `prepare_label_group` returned label_group=&lt;zarr.hierarchy.Group '/labels/wf_2_labels'&gt;
2023-11-15 16:13:04,595; INFO; Prepared output with name='Result of Expand labels (scikit-image, nsbatwm)' and out_params=NapariWorkflowsOutput(type='label', label_name='wf_2_labels', table_name=None)
2023-11-15 16:13:04,595; INFO; output_label_zarr_groups={'Result of Expand labels (scikit-image, nsbatwm)': &lt;zarr.core.Array (1, 2160, 2560) uint32&gt;}
2023-11-15 16:13:04,595; INFO; ROI 1/1: region=(slice(0, 1, None), slice(0, 2160, None), slice(0, 2560, None))
Traceback (most recent call last):
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 655, in &lt;module&gt;
    run_fractal_task(
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/_utils.py", line 79, in run_fractal_task
    metadata_update = task_function(**pars)
                      ^^^^^^^^^^^^^^^^^^^^^
  File "pydantic/decorator.py", line 40, in pydantic.decorator.validate_arguments.validate.wrapper_function
    from contextlib import _GeneratorContextManager
  File "pydantic/decorator.py", line 134, in pydantic.decorator.ValidatedFunction.call

  File "pydantic/decorator.py", line 206, in pydantic.decorator.ValidatedFunction.execute

  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 534, in napari_workflows_wrapper
    outputs = wf.get(list_outputs)
              ^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_workflows/_workflow.py", line 80, in get
    return dask_get(self._tasks, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/threaded.py", line 90, in get
    results = get_async(
              ^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 512, in get_async
    raise_exception(exc, tb)
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 320, in reraise
    raise exc
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 225, in execute_task
    result = _execute_task(task, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/core.py", line 127, in _execute_task
    return func(*(_execute_task(a, cache) for a in args))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/stackview/_static_view.py", line 25, in worker_function
    result = function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_time_slicer/__init__.py", line 32, in worker_function
    if isinstance(value, napari.Viewer):
                         ^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/_lazy.py", line 45, in __getattr__
    submod = import_module(
             ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "&lt;frozen importlib._bootstrap&gt;", line 1204, in _gcd_import
  File "&lt;frozen importlib._bootstrap&gt;", line 1176, in _find_and_load
  File "&lt;frozen importlib._bootstrap&gt;", line 1147, in _find_and_load_unlocked
  File "&lt;frozen importlib._bootstrap&gt;", line 690, in _load_unlocked
  File "&lt;frozen importlib._bootstrap_external&gt;", line 940, in exec_module
  File "&lt;frozen importlib._bootstrap&gt;", line 241, in _call_with_frames_removed
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/viewer.py", line 8, in &lt;module&gt;
    from napari.components.viewer_model import ViewerModel
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/components/__init__.py", line 17, in &lt;module&gt;
    from napari.components.camera import Camera
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/components/camera.py", line 8, in &lt;module&gt;
    from napari.utils.events import EventedModel
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/__init__.py", line 2, in &lt;module&gt;
    from napari.utils.colormaps import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/__init__.py", line 2, in &lt;module&gt;
    from napari.utils.colormaps.colormap import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/colormap.py", line 7, in &lt;module&gt;
    from napari.utils.color import ColorArray
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/color.py", line 7, in &lt;module&gt;
    from napari.utils.colormaps.standardize_color import transform_color
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/standardize_color.py", line 27, in &lt;module&gt;
    from vispy.color import ColorArray, get_color_dict, get_color_names
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/color/__init__.py", line 12, in &lt;module&gt;
    from .colormap import (Colormap, BaseColormap,  # noqa
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/color/colormap.py", line 14, in &lt;module&gt;
    import vispy.gloo
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/__init__.py", line 47, in &lt;module&gt;
    from . import gl  # noqa
    ^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/gl/__init__.py", line 230, in &lt;module&gt;
    from . import es2 as default_backend  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/gl/es2.py", line 48, in &lt;module&gt;
    raise OSError('GL ES 2.0 library not found')
OSError: GL ES 2.0 library not found
</pre></div> </div></div></div></div></div> <div class="container"><footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top"><div class="col d-flex justify-content-center"><div class="hstack gap-3"><span class="font-monospace">fractal-server 1.4.0a0, fractal-web 0.6.3</span></div></div></footer></div></main> <div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0px; top: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px;"></div></div>

<div class="modal-backdrop show"></div>[Home](http://localhost:5173/)
    [Projects](http://localhost:5173/projects)
    [Tasks](http://localhost:5173/tasks)
    [Jobs](http://localhost:5173/jobs)

    admin@fractal.xy
    [Logout](http://localhost:5173/auth/logout)

Jobs of user "admin@fractal.xy"
Id ↓    Start ⇅     End ⇅   Project ⇅   Workflow ⇅  Input dataset ⇅     Output dataset ⇅    Status ⇅    Options

2   15/11/2023, 17:09:21    15/11/2023, 17:13:05    [proj-cardio-2x2-zenodo-subset-1](http://localhost:5173/projects/2)     [Workflow cardio-2x2-zenodo-subset-1](http://localhost:5173/projects/2/workflows/2)     input-ds-cardio-2x2-zenodo-subset-1     output-ds-cardio-2x2-zenodo-subset-1    failed  
Workflow Job logs

TASK ERROR:Task id: 16 (Napari workflows wrapper), e.workflow_task_order=9
TRACEBACK:
2023-11-15 16:13:04,192; INFO; START napari_workflows_wrapper task
WARNING: Could not load OpenGL library.
2023-11-15 16:13:04,280; WARNING; Could not load OpenGL library.
/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:10: UserWarning: Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.
  warnings.warn("Importing QT failed; now introducing dummy definitions of QMenu class and register_function decorator.")
/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_tools_menu/__init__.py:221: UserWarning: Error in monkey patching napari. Please let @haesleinleinhuepf know at
https://github.com/haesleinhuepf/napari-tools-menu/issues
  warnings.warn("Error in monkey patching napari. Please let @haesleinleinhuepf know at\nhttps://github.com/haesleinhuepf/napari-tools-menu/issues")
2023-11-15 16:13:04,578; INFO; Loaded workflow from /home/fractal_share/fractal-demos/examples/02_cardio_small/np_wf_2_label.yaml
2023-11-15 16:13:04,578; INFO; This workflow acts at level=0
2023-11-15 16:13:04,578; INFO; Is the current workflow a labeling one? True
2023-11-15 16:13:04,592; INFO; Completed reading ROI table well_ROI_table, found 1 ROIs.
2023-11-15 16:13:04,593; WARNING; Input slice_img has shape (1, 2160, 2560) but expected_dimensions=3
2023-11-15 16:13:04,593; INFO; Prepared input with name='slice_img' and params=NapariWorkflowsInput(type='image', label_name=None, channel=Channel(wavelength_id='A01_C01', label=None))
2023-11-15 16:13:04,593; WARNING; Input slice_img_c2 has shape (1, 2160, 2560) but expected_dimensions=3
2023-11-15 16:13:04,594; INFO; Prepared input with name='slice_img_c2' and params=NapariWorkflowsInput(type='image', label_name=None, channel=Channel(wavelength_id='A02_C03', label=None))
2023-11-15 16:13:04,594; INFO; input_image_arrays={'slice_img': dask.array<getitem, shape=(1, 2160, 2560), dtype=uint16, chunksize=(1, 2160, 2560), chunktype=numpy.ndarray>, 'slice_img_c2': dask.array<getitem, shape=(1, 2160, 2560), dtype=uint16, chunksize=(1, 2160, 2560), chunktype=numpy.ndarray>}
2023-11-15 16:13:04,594; INFO; label_shape=(1, 2160, 2560)
2023-11-15 16:13:04,594; INFO; label_chunksize=(1, 2160, 2560)
2023-11-15 16:13:04,595; INFO; Helper function `prepare_label_group` returned label_group=<zarr.hierarchy.Group '/labels/wf_2_labels'>
2023-11-15 16:13:04,595; INFO; Prepared output with name='Result of Expand labels (scikit-image, nsbatwm)' and out_params=NapariWorkflowsOutput(type='label', label_name='wf_2_labels', table_name=None)
2023-11-15 16:13:04,595; INFO; output_label_zarr_groups={'Result of Expand labels (scikit-image, nsbatwm)': <zarr.core.Array (1, 2160, 2560) uint32>}
2023-11-15 16:13:04,595; INFO; ROI 1/1: region=(slice(0, 1, None), slice(0, 2160, None), slice(0, 2560, None))
Traceback (most recent call last):
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 655, in <module>
    run_fractal_task(
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/_utils.py", line 79, in run_fractal_task
    metadata_update = task_function(**pars)
                      ^^^^^^^^^^^^^^^^^^^^^
  File "pydantic/decorator.py", line 40, in pydantic.decorator.validate_arguments.validate.wrapper_function
    from contextlib import _GeneratorContextManager
  File "pydantic/decorator.py", line 134, in pydantic.decorator.ValidatedFunction.call

  File "pydantic/decorator.py", line 206, in pydantic.decorator.ValidatedFunction.execute

  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/fractal_tasks_core/tasks/napari_workflows_wrapper.py", line 534, in napari_workflows_wrapper
    outputs = wf.get(list_outputs)
              ^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_workflows/_workflow.py", line 80, in get
    return dask_get(self._tasks, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/threaded.py", line 90, in get
    results = get_async(
              ^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 512, in get_async
    raise_exception(exc, tb)
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 320, in reraise
    raise exc
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/local.py", line 225, in execute_task
    result = _execute_task(task, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/dask/core.py", line 127, in _execute_task
    return func(*(_execute_task(a, cache) for a in args))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/stackview/_static_view.py", line 25, in worker_function
    result = function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari_time_slicer/__init__.py", line 32, in worker_function
    if isinstance(value, napari.Viewer):
                         ^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/_lazy.py", line 45, in __getattr__
    submod = import_module(
             ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/viewer.py", line 8, in <module>
    from napari.components.viewer_model import ViewerModel
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/components/__init__.py", line 17, in <module>
    from napari.components.camera import Camera
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/components/camera.py", line 8, in <module>
    from napari.utils.events import EventedModel
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/__init__.py", line 2, in <module>
    from napari.utils.colormaps import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/__init__.py", line 2, in <module>
    from napari.utils.colormaps.colormap import Colormap
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/colormap.py", line 7, in <module>
    from napari.utils.color import ColorArray
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/color.py", line 7, in <module>
    from napari.utils.colormaps.standardize_color import transform_color
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/napari/utils/colormaps/standardize_color.py", line 27, in <module>
    from vispy.color import ColorArray, get_color_dict, get_color_names
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/color/__init__.py", line 12, in <module>
    from .colormap import (Colormap, BaseColormap,  # noqa
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/color/colormap.py", line 14, in <module>
    import vispy.gloo
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/__init__.py", line 47, in <module>
    from . import gl  # noqa
    ^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/gl/__init__.py", line 230, in <module>
    from . import es2 as default_backend  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/fractal_share/tasks/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.11/site-packages/vispy/gloo/gl/es2.py", line 48, in <module>
    raise OSError('GL ES 2.0 library not found')
OSError: GL ES 2.0 library not found

fractal-server 1.4.0a0, fractal-web 0.6.3
tcompa commented 8 months ago

I think that this patch does fix the issue, but we should understand the reason better:

diff --git a/server/Dockerfile.server.step2 b/server/Dockerfile.server.step2
index 8d9df2f..02033d0 100644
--- a/server/Dockerfile.server.step2
+++ b/server/Dockerfile.server.step2
@@ -12,5 +12,7 @@ RUN bash get_fractal_server.sh

 ENV PIP_DEFAULT_TIMEOUT=100

+RUN python -m pip install pyqt5
+
 # launch command
 CMD fractalctl set-db && fractalctl start --host 0.0.0.0 -p 8000
mfranzon commented 1 month ago

Is this solved with new images?

tcompa commented 1 month ago

Is this solved with new images?

I don't know, since the new images are not used for running demos yet (ref https://github.com/fractal-analytics-platform/fractal-containers/issues/58).