plotly / Kaleido

Fast static image export for web-based visualization libraries with zero dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ValueError: Failed to start Kaleido subprocess. Error stream: [NONE]

marianoju opened this issue · comments

Running Python 3.8.17 in a conda environment on Windows 10. I have created a dedicated virtual environment and installed plotly and python-kaleido. I have then executed the following script:

import plotly 

fig = plotly.graph_objects.Figure()

fig.write_image("plot.png")

Output is as follows:

Traceback (most recent call last):
  File "write_image.py", line 5, in <module>
    fig.write_image("plot.png")
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\plotly\basedatatypes.py", line 3840, in write_image
    return pio.write_image(self, *args, **kwargs)
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\plotly\io\_kaleido.py", line 267, in write_image
    img_data = to_image(
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\plotly\io\_kaleido.py", line 144, in to_image
    img_bytes = scope.transform(
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\kaleido\scopes\plotly.py", line 153, in transform
    response = self._perform_transform(
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\kaleido\scopes\base.py", line 293, in _perform_transform
    self._ensure_kaleido()
  File "C:\Users\marianoju\anaconda3\envs\plotly\lib\site-packages\kaleido\scopes\base.py", line 198, in _ensure_kaleido
    raise ValueError(message)
ValueError: Failed to start Kaleido subprocess. Error stream:


The empty Error stream makes this error particularly difficult to debug. I have tried installing

  • plotly 5.9.0 from defaults and python-kaleido 0.2.1 from conda-forge
  • plotly 5.11.0 and python-kaleido 0.2.1 from conda-forge
  • plotly 5.15.0 and python-kaleido 0.0.3 from plotly
  • plotly 5.15.0 from plotly and python-kaleido 0.2.1 from conda-forge
  • plotly 5.15.0 and python-kaleido 0.2.1 from conda-forge

In short, I have not found a way to fix the error. I would be very grateful for any help.

Same here, but it simply hangs on line

startup_response_string = self._proc.stdout.readline().decode('utf-8')

and never gets to the message "Failed to start Kaleido ..."

Win 11, python 3.10, kaleido version: 0.2.1.

my issue with windows 10 in conda was the spaces in the Program Files path throwing it off.

reverting to this older version worked from me for my windows 10 env

pip install --upgrade "kaleido==0.1.*"

Same issue, fixed on Windows by reverting to version 0.1.0.post1

pip install "kaleido==0.1.0.post1"

Issue is fixed with version 0.1.0.post1 on Windows but not on Linux.

If I create a light virtual env:

conda create -n "tmpenv_py12" python=3.12 jupyter ipykernel numpy plotly python-kaleido

Now this simple code :

import numpy as np
import plotly.graph_objects as go
import plotly, ipykernel, kaleido

print(f"plotly: {plotly.__version__}")
print(f"kaleido: {kaleido.__version__}")
print(f"ipykernel: {ipykernel.__version__}")

x = np.arange(100)
fig = go.Figure(data=go.Scatter(x=x, y=x**2))
fig.write_image("tmp.png")

throws an error ValueError: Failed to start Kaleido subprocess. Error stream::

details on error
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[2], [line 11](vscode-notebook-cell:?execution_count=2&line=11)
      [9](vscode-notebook-cell:?execution_count=2&line=9) x = np.arange(100)
     [10](vscode-notebook-cell:?execution_count=2&line=10) fig = go.Figure(data=go.Scatter(x=x, y=x**2))
---> [11](vscode-notebook-cell:?execution_count=2&line=11) fig.write_image("tmp.png")

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3829](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3829), in BaseFigure.write_image(self, *args, **kwargs)
   [3769](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3769) """
   [3770](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3770) Convert a figure to a static image and write it to a file or writeable
   [3771](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3771) object
   (...)
   [3825](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3825) None
   [3826](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3826) """
   [3827](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3827) import plotly.io as pio
-> [3829](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/basedatatypes.py:3829) return pio.write_image(self, *args, **kwargs)

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:267](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:267), in write_image(fig, file, format, scale, width, height, validate, engine)
    [251](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:251)             raise ValueError(
    [252](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:252)                 """
    [253](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:253) Cannot infer image type from output path '{file}'.
   (...)
    [261](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:261)                 )
    [262](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:262)             )
    [264](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:264)     # Request image
    [265](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:265)     # -------------
    [266](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:266)     # Do this first so we don't create a file if image conversion fails
--> [267](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:267)     img_data = to_image(
    [268](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:268)         fig,
    [269](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:269)         format=format,
    [270](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:270)         scale=scale,
    [271](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:271)         width=width,
    [272](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:272)         height=height,
    [273](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:273)         validate=validate,
    [274](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:274)         engine=engine,
    [275](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:275)     )
    [277](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:277)     # Open file
    [278](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:278)     # ---------
    [279](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:279)     if path is None:
    [280](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:280)         # We previously failed to make sense of `file` as a pathlib object.
    [281](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:281)         # Attempt to write to `file` as an open file descriptor.

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:144](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:144), in to_image(fig, format, width, height, scale, validate, engine)
    [141](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:141) # Validate figure
    [142](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:142) # ---------------
    [143](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:143) fig_dict = validate_coerce_fig_to_dict(fig, validate)
--> [144](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:144) img_bytes = scope.transform(
    [145](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:145)     fig_dict, format=format, width=width, height=height, scale=scale
    [146](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:146) )
    [148](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/plotly/io/_kaleido.py:148) return img_bytes

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:94](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:94), in PlotlyScope.transform(self, figure, format, width, height, scale)
     [83](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:83)     raise ValueError(
     [84](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:84)         "Invalid format '{original_format}'.\n"
     [85](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:85)         "    Supported formats: {supported_formats_str}"
   (...)
     [89](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:89)         )
     [90](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:90)     )
     [92](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:92) # Transform in using _perform_transform rather than superclass so we can access the full
     [93](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:93) # response dict, including error codes.
---> [94](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:94) response = self._perform_transform(
     [95](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:95)     figure, format=format, width=width, height=height, scale=scale
     [96](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:96) )
     [98](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:98) # Check for export error, later can customize error messages for plotly Python users
     [99](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/plotly.py:99) code = response.pop("code", 0)

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:177](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:177), in BaseScope._perform_transform(self, data, **kwargs)
    [168](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:168) """
    [169](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:169) Transform input data using the current scope, returning dict response with error code
    [170](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:170) whether successful or not.
   (...)
    [174](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:174) :return: Dict of response from Kaleido executable, whether successful or not
    [175](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:175) """
    [176](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:176) # Ensure that kaleido subprocess is running
--> [177](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:177) self._ensure_kaleido()
    [179](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:179) # Perform export
    [180](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:180) export_spec = json.dumps(
    [181](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:181)     dict(kwargs, data=data),
    [182](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:182)     cls=self._json_encoder).encode('utf-8')

File [~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:119](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:119), in BaseScope._ensure_kaleido(self)
    [114](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:114) if not startup_response_string:
    [115](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:115)     message = (
    [116](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:116)         "Failed to start Kaleido subprocess. Error stream:\n\n" +
    [117](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:117)         self._std_error.getvalue()
    [118](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:118)     )
--> [119](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:119)     raise ValueError(message)
    [120](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:120) else:
    [121](https://file+.vscode-resource.vscode-cdn.net/home/etiennedm/code/syn_decoder/notebooks/~/miniconda3/envs/tmpenv_py12/lib/python3.12/site-packages/kaleido/scopes/base.py:121)     startup_response = json.loads(startup_response_string)

ValueError: Failed to start Kaleido subprocess. Error stream:

[0319/090221.609052:WARNING:resource_bundle.cc(435)] locale_file_path.empty() for locale 
[0319/090221.613880:WARNING:resource_bundle.cc(435)] locale_file_path.empty() for locale 
[0319/090221.613879:WARNING:resource_bundle.cc(435)] locale_file_path.empty() for locale 
Received signal 7 BUS_ADRERR 7f5745fb8000
#0 0x5557f0e388a9 base::debug::CollectStackTrace()
#1 0x5557f0da7203 base::debug::StackTrace::StackTrace()
#2 0x5557f0e38445 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f5744e19520 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x4251f)
#4 0x5557ef0d9717 FT_Stream_ReadULong
#5 0x5557ef10a923 sfnt_open_font
#6 0x5557ef106020 sfnt_init_face
#7 0x5557ef114239 tt_face_init
#8 0x5557ef0da350 open_face
#9 0x5557ef0d5443 ft_open_face_internal
#10 0x5557ef0d5270 FT_New_Face
#11 0x5557f1392eb9 IA__FcFreeTypeQueryAll
#12 0x5557f138ffad FcFileScanConfig
#13 0x5557f13902e6 FcDirScanConfig
#14 0x5557f139042a FcDirCacheScan
#15 0x5557f13904de IA__FcDirCacheRead
#16 0x5557f13865a7 FcConfigAddDirList
#17 0x5557f13864e7 FcConfigBuildFonts
#18 0x5557f1394481 IA__FcInitLoadConfigAndFonts
#19 0x5557f1385982 FcConfigInit
#20 0x5557f1756897 gfx::GetGlobalFontConfig()
#21 0x5557ef93f647 content::BrowserMainRunnerImpl::Initialize()
#22 0x5557f21dae6c headless::HeadlessContentMainDelegate::RunProcess()
#23 0x5557f0b3c014 content::ContentMainRunnerImpl::RunServiceManager()
#24 0x5557f0b3bc97 content::ContentMainRunnerImpl::Run()
#25 0x5557f202a281 service_manager::Main()
#26 0x5557f0b35081 content::ContentMain()
#27 0x5557f0b9051d headless::(anonymous namespace)::RunContentMain()
#28 0x5557f0b903d5 headless::HeadlessBrowserMain()
#29 0x5557eed7e948 main
#30 0x7f5744e00d90 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)
#31 0x7f5744e00e40 __libc_start_main
#32 0x5557eed784ea _start
  r8: 0000000000000000  r9: 0000000000000000 r10: 0000000000000002 r11: 0000000000000293
 r12: 00001a4ac75cce00 r13: 0000000000000000 r14: 00007ffc656ec334 r15: 00007f5745fb8000
  di: 00001a4ac76292d0  si: 0000000000000000  bp: 00007ffc656ec120  bx: 00001a4ac76292d0
  dx: 00007ffc656ec408  ax: 0000000000000000  cx: 00007ffc656ec3c8  sp: 00007ffc656ec100
  ip: 00005557ef0d9717 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007f5745fb8000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

I tried with all available versions of kaleido on Linux (0.0.1rc3, 0.0.1rc4, 0.0.1rc5, 0.0.1rc6, 0.0.1rc8, 0.0.1rc9, 0.0.1, 0.0.2, 0.0.3, 0.0.3.post1, 0.1.0a2, 0.1.0a3, 0.1.0, 0.2.0rc1, 0.2.0, 0.2.1) with python 3.12 and plotly 5.9. I always get the same error.

What am I doing wrong ?

Any help would be much appreciated!