Skip to content

Multiple choreographer errors in docker and apptainer when trying to export figure with plotly #287

@Tony-xy-Liu

Description

@Tony-xy-Liu

I'm trying to make a container that can run python code to draw a figure and export it as an svg.
In the container, choreo_diagnose returns multiple errors when running with either docker or appainer.
A crash happens with apptainer --no-home ..., but otherwise a correct svg is produced.
The container is intended to be used in grid compute platforms where the home directory is mounted through the network so access is not desirable.

The main error seems to be an asyncio.exceptions.CancelledError

Any suggestions on how to have plotly produce an svg inside an apptainer image ran with "--no-home" are welcome. Hopefully the information here will also help others to containerize plotly with other python packages for data science applications. Correctly installing a browser in a container seems to be difficult...

Dockerfile
ARG CONDA_ENV=for_container

# https://mamba.readthedocs.io/en/latest/user_guide/mamba.html
FROM --platform=linux/amd64 condaforge/miniforge3 as build-env
# scope var from global
ARG CONDA_ENV

# I believe this is to avoid permission issues with 
# manipulating added files to places like /opt
RUN old_umask=`umask` \
&& umask 0000 \
&& umask $old_umask
 
# Install Google Chrome for kaleido
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        wget \
        gnupg \
        fonts-liberation \
        libasound2t64 \
        libatk-bridge2.0-0 \
        libatk1.0-0 \
        libcups2 \
        libdbus-1-3 \
        libdrm2 \
        libgbm1 \
        libgtk-3-0 \
        libnspr4 \
        libnss3 \
        libxcomposite1 \
        libxdamage1 \
        libxfixes3 \
        libxkbcommon0 \
        libxrandr2 \
        libpango-1.0-0 \
        libcairo2 \
        xdg-utils && \
    # Add Google's official signing key
    wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /etc/apt/trusted.gpg.d/google-chrome.gpg && \
    # Add Google Chrome repository
    echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list && \
    # Update package list to include the new repo and install Chrome
    apt-get update && \
    apt-get install -y --no-install-recommends google-chrome-stable && \
    rm -rf /var/lib/apt/lists/*

ADD ./load/env.yml /opt/env.yml
RUN --mount=type=cache,target=/opt/conda/pkgs \
    mamba env create -n ${CONDA_ENV} -f /opt/env.yml
ENV PATH=/opt/conda/envs/${CONDA_ENV}/bin:$PATH

# Singularity uses tini, but raises warnings
# because the -s flag is not used
ADD ./load/tini /tini
RUN chmod +x /tini
# ENTRYPOINT ["/tini", "-s", "-g", "--", "/app/entry"]
ENTRYPOINT ["/tini", "-s", "-g", "--"]
env.yml loaded in Dockerfile
channels:
  - bioconda
  - conda-forge
dependencies:
  - python=3.12
  - numpy=2.3.5
  - scipy=1.16.3
  - pandas=2.3.3
  - numba=0.62.1
  - pyyaml=6.0.3
  - umap-learn=0.5.9
  - requests=2.32.5
  - xmltodict=1.0.2
  - plotly=6.5.0
  - python-kaleido=1.2.0 # for plotly to make svgs
  - matplotlib=3.10.6
  - biopython=1.86
  - jupyter=1.1.1
  - notebook=7.5.0
the python script to draw a figure and export svg

draw.py:

from plotly import subplots as sp, graph_objs as go

fig = sp.make_subplots()

fig.add_trace(go.Scatter(
    x = [1, 2],
    y = [1, 2],
))

fig.update_layout(dict(width=800, height=800))
fig.write_image("test.svg")
error log when running with "--no-home"
INFO:    Using cached SIF image
INFO:    squashfuse not found, will not be able to mount SIF or other squashfs files
INFO:    fuse2fs not found, will not be able to mount EXT3 filesystems
INFO:    gocryptfs not found, will not be able to use gocryptfs
INFO:    Converting SIF file to temporary sandbox...
Traceback (most recent call last):
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browser_async.py", line 167, in open
    await self.populate_targets()
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/kaleido.py", line 232, in populate_targets
    await super().populate_targets()
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browser_async.py", line 348, in populate_targets
    response = await self.send_command("Target.getTargets")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/protocol/devtools_async.py", line 222, in send_command
    return await session.send_command(command, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/protocol/devtools_async.py", line 95, in send_command
    return await self._broker.write_json(json_command)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/_brokers/_async.py", line 273, in write_json
    return await future
           ^^^^^^^^^^^^
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tliu/metasmith/runs/K8aqNlsQ/nxf_work/29/99e634b887b630a9b3d1fabe3c99bf/draw.py", line 11, in <module>
    fig.write_image("test_nohome.svg")
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/plotly/basedatatypes.py", line 3895, in write_image
    return pio.write_image(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/plotly/io/_kaleido.py", line 528, in write_image
    img_data = to_image(
               ^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/plotly/io/_kaleido.py", line 398, in to_image
    img_bytes = kaleido.calc_fig_sync(
                ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/__init__.py", line 171, in calc_fig_sync
    return _sync_server.oneshot_async_run(calc_fig, args=args, kwargs=kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/_sync_server.py", line 131, in oneshot_async_run
    raise res
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/_sync_server.py", line 122, in run
    q.put(asyncio.run(func(*args, **kwargs)))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/__init__.py", line 101, in calc_fig
    async with Kaleido(**kopts) as k:
               ^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browser_async.py", line 187, in __aenter__
    await self.open()
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/kaleido/kaleido.py", line 198, in open
    await super().open()
  File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browser_async.py", line 173, in open
    raise BrowserDepsError from e
choreographer.browsers._errors.BrowserDepsError: It seems like you are running a slim version of your operating system and are missing some common dependencies. The following command should install the required dependencies on most systems:

$ sudo apt update && sudo apt-get install libnss3 libatk-bridge2.0-0 libcups2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libpango-1.0-0 libcairo2 libasound2

If you have already run the above command and are still seeing this error, or the above command fails, consult the Kaleido documentation for operating system to install chromium dependencies.

For support, run the command `choreo_diagnose` and create an issue with its output.
INFO:    Cleaning up image...
choreo_diagnose output in docker and apptainer (identical)
DEBUG	Task(None).root._which.py.browser_which- Looking for browser, skipping local? False
DEBUG	Task(None).root._which.py.browser_which- Looking for at local chrome download path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome
DEBUG	Task(None).root._which.py.browser_which- Local chrome not found at path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome.
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py.find_browser- Looking for a chrome browser.
DEBUG	Task(None).root._which.py.browser_which- Looking for browser, skipping local? True
DEBUG	Task(None).root._which.py.browser_which- Skipping searching for local download of chrome.
DEBUG	Task(None).choreographer.browser_async.browser_async.py.__init__- Attempting to open new browser.
INFO	Task(None).choreographer.browsers.chromium.chromium.py.__init__- Chromium init'ed with kwargs {}
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py.find_browser- Looking for a chrome browser.
DEBUG	Task(None).root._which.py.browser_which- Looking for browser, skipping local? False
DEBUG	Task(None).root._which.py.browser_which- Looking for at local chrome download path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome
DEBUG	Task(None).root._which.py.browser_which- Local chrome not found at path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome.
INFO	Task(None).choreographer.browsers.chromium.chromium.py.__init__- Found chromium path: /usr/bin/google-chrome
INFO	Task(None).choreographer.utils._tmpfile._tmpfile.py.__init__- Temp directory created: /home/tliu/tmp/tmp1x0gabja.
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- Checking for libs needed.
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- Trying ldd /usr/bin/google-chrome
INFO	Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- ldd failed. e: Command '['ldd', '/usr/bin/google-chrome']' returned non-zero exit status 1., stderr: None
INFO	Task(None).choreographer.browsers.chromium.chromium.py.pre_open- Temporary directory at: /home/tliu/tmp/tmp1x0gabja
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py.get_cli- Returning cli: ['/opt/conda/envs/python_for_data_science_env/bin/python', '/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browsers/_unix_pipe_chromium_wrapper.py', '/usr/bin/google-chrome', '--disable-gpu', '--headless', '--no-sandbox', '--disable-breakpad', '--allow-file-access-from-files', '--enable-logging=stderr', '--user-data-dir=/home/tliu/tmp/tmp1x0gabja', '--no-first-run', '--enable-unsafe-swiftshader', '--disable-dev-shm-usage', '--disable-background-media-suspend', '--disable-lazy-loading', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-renderer-backgrounding', '--disable-component-update', '--disable-hang-monitor', '--disable-popup-blocking', '--disable-prompt-on-repost', '--disable-ipc-flooding-protection', '--disable-sync', '--metrics-recording-only', '--password-store=basic', '--use-mock-keychain', '--no-default-browser-check', '--no-process-per-site', '--disable-web-security', '--remote-debugging-pipe']
DEBUG	Task(None).choreographer.browsers.chromium.chromium.py.get_popen_args- Returning args: {'close_fds': True, 'stdin': 5, 'stdout': 4}
INFO	Task(None).choreographer.utils._tmpfile._tmpfile.py.clean- TemporaryDirectory.cleanup() worked.
INFO	Task(None).choreographer.utils._tmpfile._tmpfile.py.clean- shutil.rmtree worked.
**************************************************
*********************SYSTEM:**********************
Linux
5.4.0-144-generic
#161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023
uname_result(system='Linux', node='chamois', release='5.4.0-144-generic', version='#161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023', machine='x86_64')
**************************************************
*********************BROWSER:*********************
Didn't find local.
/usr/bin/google-chrome
**************************************************
************BROWSER_INIT_CHECK (DEPS)*************
*** cli:
        /opt/conda/envs/python_for_data_science_env/bin/python
        /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browsers/_unix_pipe_chromium_wrapper.py
        /usr/bin/google-chrome
        --disable-gpu
        --headless
        --no-sandbox
        --disable-breakpad
        --allow-file-access-from-files
        --enable-logging=stderr
        --user-data-dir=/home/tliu/tmp/tmp1x0gabja
        --no-first-run
        --enable-unsafe-swiftshader
        --disable-dev-shm-usage
        --disable-background-media-suspend
        --disable-lazy-loading
        --disable-background-timer-throttling
        --disable-backgrounding-occluded-windows
        --disable-renderer-backgrounding
        --disable-component-update
        --disable-hang-monitor
        --disable-popup-blocking
        --disable-prompt-on-repost
        --disable-ipc-flooding-protection
        --disable-sync
        --metrics-recording-only
        --password-store=basic
        --use-mock-keychain
        --no-default-browser-check
        --no-process-per-site
        --disable-web-security
        --remote-debugging-pipe
*** Popen args:
        close_fds:True
        stdin:5
        stdout:4
**************************************************
******************VERSION INFO:*******************
***********pip:**********
anyio @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_anyio_1764375386/work
argon2-cffi @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi_1749017159514/work
argon2-cffi-bindings @ file:///home/conda/feedstock_root/build_artifacts/argon2-cffi-bindings_1762509336295/work
arrow @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_arrow_1760831179/work
asttokens @ file:///home/conda/feedstock_root/build_artifacts/asttokens_1763409923949/work
async-lru @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_async-lru_1742153708/work
attrs @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_attrs_1764875182/work
babel @ file:///home/conda/feedstock_root/build_artifacts/babel_1738490167835/work
backports.zstd @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_backports.zstd_1765057663/work
beautifulsoup4 @ file:///home/conda/feedstock_root/build_artifacts/beautifulsoup4_1764520477956/work
biopython @ file:///home/conda/feedstock_root/build_artifacts/biopython_1761734597652/work
bleach @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_bleach_1763589981/work
Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1764016952863/work
cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1762976168352/work/certifi
cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1761202850602/work
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1760437218288/work
choreographer @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_choreographer_1762763984/work
colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1733218098505/work
comm @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_comm_1753453984/work
contourpy @ file:///home/conda/feedstock_root/build_artifacts/contourpy_1762525251295/work
cycler @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_cycler_1764466758/work
debugpy @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_debugpy_1764921242/work
decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1740384970518/work
defusedxml @ file:///home/conda/feedstock_root/build_artifacts/defusedxml_1615232257335/work
exceptiongroup @ file:///home/conda/feedstock_root/build_artifacts/exceptiongroup_1763918002538/work
executing @ file:///home/conda/feedstock_root/build_artifacts/executing_1756729339227/work
fastjsonschema @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_python-fastjsonschema_1755304154/work/dist
fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1764352760362/work
fqdn @ file:///home/conda/feedstock_root/build_artifacts/fqdn_1733327382592/work/dist
h11 @ file:///home/conda/feedstock_root/build_artifacts/h11_1745526374115/work
h2 @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_h2_1756364871/work
hpack @ file:///home/conda/feedstock_root/build_artifacts/hpack_1737618293087/work
httpcore @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_httpcore_1745602916/work
httpx @ file:///home/conda/feedstock_root/build_artifacts/httpx_1733663348460/work
hyperframe @ file:///home/conda/feedstock_root/build_artifacts/hyperframe_1737618333194/work
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1760286409563/work
importlib_metadata @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_importlib-metadata_1747934053/work
importlib_resources @ file:///home/conda/feedstock_root/build_artifacts/importlib_resources_1736252299705/work
iniconfig @ file:///home/conda/feedstock_root/build_artifacts/iniconfig_1760831328738/work
ipykernel @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_ipykernel_1761567932/work
ipython @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_ipython_1764766793/work
ipython_pygments_lexers @ file:///home/conda/feedstock_root/build_artifacts/ipython_pygments_lexers_1737123620466/work
ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1762040433881/work
isoduration @ file:///home/conda/feedstock_root/build_artifacts/isoduration_1733493628631/work/dist
jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1733300866624/work
Jinja2 @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jinja2_1764517220/work
joblib @ file:///home/conda/feedstock_root/build_artifacts/joblib_1756321760188/work
json5 @ file:///home/conda/feedstock_root/build_artifacts/json5_1755034879854/work
jsonpointer @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jsonpointer_1765026384/work
jsonschema @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jsonschema_1755595646/work
jsonschema-specifications @ file:///tmp/tmptzik3dqa/src
jupyter @ file:///home/conda/feedstock_root/build_artifacts/jupyter_1733818543322/work
jupyter-console @ file:///home/conda/feedstock_root/build_artifacts/jupyter_console_1733817997778/work
jupyter-events @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyter_events_1738765986/work
jupyter-lsp @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyter-lsp_1756388269/work/jupyter-lsp
jupyter_client @ file:///home/conda/feedstock_root/build_artifacts/jupyter_client_1733440914442/work
jupyter_core @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyter_core_1760643864/work
jupyter_server @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyter_server_1755870522/work
jupyter_server_terminals @ file:///home/conda/feedstock_root/build_artifacts/jupyter_server_terminals_1733427956852/work
jupyterlab @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_1763479752490/work
jupyterlab_pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1733328101776/work
jupyterlab_server @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyterlab_server_1761145478/work
jupyterlab_widgets @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_jupyterlab_widgets_1762267481/work/python/jupyterlab_widgets
kaleido @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_python-kaleido_1762328930/work
kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_kiwisolver_1762488738/work
lark @ file:///home/conda/feedstock_root/build_artifacts/lark_1761596826058/work
llvmlite==0.45.1
logistro @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_logistro_1762185534/work
MarkupSafe @ file:///home/conda/feedstock_root/build_artifacts/markupsafe_1759055168201/work
matplotlib==3.10.6
matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1761214490209/work
mistune @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_mistune_1756495311/work
munkres==1.1.4
narwhals @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_narwhals_1764604454/work
nbclient @ file:///home/conda/feedstock_root/build_artifacts/nbclient_1734628800805/work
nbconvert @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_nbconvert-core_1760797634/work
nbformat @ file:///home/conda/feedstock_root/build_artifacts/nbformat_1733402752141/work
nest_asyncio @ file:///home/conda/feedstock_root/build_artifacts/nest-asyncio_1733325553580/work
notebook @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_notebook_1763560248/work
notebook_shim @ file:///home/conda/feedstock_root/build_artifacts/notebook-shim_1733408315203/work
numba @ file:///home/conda/feedstock_root/build_artifacts/numba_1764803749709/work
numpy @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_numpy_1763351074/work/dist/numpy-2.3.5-cp312-cp312-linux_x86_64.whl#sha256=585a706a3c889590365479b2cdbe308c23addd9fae26c7937f4b74887269b6e3
orjson @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_orjson_1764441537/work
overrides @ file:///home/conda/feedstock_root/build_artifacts/overrides_1734587627321/work
packaging @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_packaging_1745345660/work
pandas @ file:///home/conda/feedstock_root/build_artifacts/pandas_1759265541279/work
pandocfilters @ file:///home/conda/feedstock_root/build_artifacts/pandocfilters_1631603243851/work
parso @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_parso_1755974222/work
pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1733301927746/work
pillow @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pillow_1764330106/work
platformdirs @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_platformdirs_1764950726/work
plotly @ file:///home/conda/feedstock_root/build_artifacts/plotly_1763430243473/work
pluggy @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pluggy_1764896838/work
prometheus_client @ file:///home/conda/feedstock_root/build_artifacts/prometheus_client_1758278110859/work
prompt_toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1756321756983/work
psutil @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_psutil_1762092914/work
ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1733302279685/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl#sha256=92c32ff62b5fd8cf325bec5ab90d7be3d2a8ca8c8a3813ff487a8d2002630d1f
pure_eval @ file:///home/conda/feedstock_root/build_artifacts/pure_eval_1733569405015/work
pycparser @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pycparser_1733195786/work
Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1750615794071/work
pynndescent @ file:///home/conda/feedstock_root/build_artifacts/pynndescent_1734193530377/work
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pyparsing_1758436411/work
PySide6==6.9.3
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1733217236728/work
pytest @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pytest_1765062031/work
pytest-timeout @ file:///home/conda/feedstock_root/build_artifacts/pytest-timeout_1746533033267/work
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_python-dateutil_1751104122/work
python-json-logger @ file:///home/conda/feedstock_root/build_artifacts/python-json-logger_1677079630776/work
pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1742920838005/work
PyYAML @ file:///home/conda/feedstock_root/build_artifacts/pyyaml_1758891829620/work
pyzmq @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_pyzmq_1757387023/work
referencing @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_referencing_1760379115/work
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1755614211359/work
rfc3339_validator @ file:///home/conda/feedstock_root/build_artifacts/rfc3339-validator_1733599910982/work
rfc3986-validator @ file:///home/conda/feedstock_root/build_artifacts/rfc3986-validator_1598024191506/work
rfc3987-syntax @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_rfc3987-syntax_1752876729/work
rpds-py @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_rpds-py_1764543174/work
scikit-learn @ file:///home/conda/feedstock_root/build_artifacts/scikit-learn_1757406006820/work/dist/scikit_learn-1.7.2-cp312-cp312-linux_x86_64.whl#sha256=129fb53912f867c66de404c45e47a17c8d2466e12961a80dadee213c841e7450
scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy-split_1763219272390/work/dist/scipy-1.16.3-cp312-cp312-linux_x86_64.whl#sha256=72f528660eda2b30b8b3bd20317d59babbd383e261ef86a385dc0a0ba61950e8
Send2Trash @ file:///home/conda/feedstock_root/build_artifacts/send2trash_1733322040660/work
setuptools==80.9.0
shiboken6==6.9.3
simplejson @ file:///home/conda/feedstock_root/build_artifacts/simplejson_1762506836482/work
six @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_six_1753199211/work
sniffio @ file:///home/conda/feedstock_root/build_artifacts/sniffio_1762941432086/work
soupsieve @ file:///home/conda/feedstock_root/build_artifacts/soupsieve_1756330469801/work
stack_data @ file:///home/conda/feedstock_root/build_artifacts/stack_data_1733569443808/work
terminado @ file:///home/conda/feedstock_root/build_artifacts/terminado_1710262609923/work
threadpoolctl @ file:///home/conda/feedstock_root/build_artifacts/threadpoolctl_1741878222898/work
tinycss2 @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_tinycss2_1764621508/work
tomli @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_tomli_1760014679/work
tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1762506760242/work
tqdm @ file:///home/conda/feedstock_root/build_artifacts/tqdm_1735661334605/work
traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1733367359838/work
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_typing_extensions_1756220668/work
typing_utils @ file:///home/conda/feedstock_root/build_artifacts/typing_utils_1733331286120/work
tzdata @ file:///home/conda/feedstock_root/build_artifacts/python-tzdata_1742745135198/work
umap-learn @ file:///home/conda/feedstock_root/build_artifacts/umap-learn_1751544281685/work
unicodedata2 @ file:///home/conda/feedstock_root/build_artifacts/unicodedata2_1763054767730/work
uri-template @ file:///home/conda/feedstock_root/build_artifacts/uri-template_1733323593477/work/dist
urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1765212671150/work
wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1758622279606/work
webcolors @ file:///home/conda/feedstock_root/build_artifacts/webcolors_1761899299899/work
webencodings @ file:///home/conda/feedstock_root/build_artifacts/webencodings_1733236011802/work
websocket-client @ file:///home/conda/feedstock_root/build_artifacts/websocket-client_1759928050786/work
wheel==0.45.1
widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1762040310212/work
xmltodict @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_xmltodict_1758191083/work
zipp @ file:///home/conda/feedstock_root/build_artifacts/bld/rattler-build_zipp_1764460141/work
fatal: not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
DEBUG	Task(None).asyncio.selector_events.py.__init__- Using selector: EpollSelector
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.__init__- Attempting to open new browser.
INFO	Task(Task-1).choreographer.browsers.chromium.chromium.py.__init__- Chromium init'ed with kwargs {'headless': True}
DEBUG	Task(Task-1).choreographer.browsers.chromium.chromium.py.find_browser- Looking for a chrome browser.
DEBUG	Task(Task-1).root._which.py.browser_which- Looking for browser, skipping local? False
DEBUG	Task(Task-1).root._which.py.browser_which- Looking for at local chrome download path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome
DEBUG	Task(Task-1).root._which.py.browser_which- Local chrome not found at path: /opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome-linux64/chrome.
INFO	Task(Task-1).choreographer.browsers.chromium.chromium.py.__init__- Found chromium path: /usr/bin/google-chrome
INFO	Task(Task-1).choreographer.browser_async.browser_async.py.open- Opening browser.
INFO	Task(Task-1).choreographer.utils._tmpfile._tmpfile.py.clean- TemporaryDirectory.cleanup() worked.
INFO	Task(Task-1).choreographer.utils._tmpfile._tmpfile.py.clean- shutil.rmtree worked.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.open- Trying to open browser.
INFO	Thread(checking_close-0).Task(None).choreographer.utils._tmpfile._tmpfile.py.__init__- Temp directory created: /home/tliu/tmp/tmpvh6m1p0j.
DEBUG	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- Checking for libs needed.
DEBUG	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- Trying ldd /usr/bin/google-chrome
INFO	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py._libs_ok- ldd failed. e: Command '['ldd', '/usr/bin/google-chrome']' returned non-zero exit status 1., stderr: None
INFO	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py.pre_open- Temporary directory at: /home/tliu/tmp/tmpvh6m1p0j
DEBUG	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py.get_cli- Returning cli: ['/opt/conda/envs/python_for_data_science_env/bin/python', '/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browsers/_unix_pipe_chromium_wrapper.py', '/usr/bin/google-chrome', '--disable-gpu', '--headless', '--no-sandbox', '--disable-breakpad', '--allow-file-access-from-files', '--enable-logging=stderr', '--user-data-dir=/home/tliu/tmp/tmpvh6m1p0j', '--no-first-run', '--enable-unsafe-swiftshader', '--disable-dev-shm-usage', '--disable-background-media-suspend', '--disable-lazy-loading', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-renderer-backgrounding', '--disable-component-update', '--disable-hang-monitor', '--disable-popup-blocking', '--disable-prompt-on-repost', '--disable-ipc-flooding-protection', '--disable-sync', '--metrics-recording-only', '--password-store=basic', '--use-mock-keychain', '--no-default-browser-check', '--no-process-per-site', '--disable-web-security', '--remote-debugging-pipe']
DEBUG	Thread(checking_close-0).Task(None).choreographer.browsers.chromium.chromium.py.get_popen_args- Returning args: {'close_fds': True, 'stdin': 12, 'stdout': 11}
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.__init__- Created new target 0.
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.__init__- New session: 
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.open- Starting watchdog
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.open- Opening channel.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.open- Running read loop
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.open- Populating Targets
DEBUG	Task(Task-2).choreographer.browser_async.browser_async.py._watchdog- In watchdog
DEBUG2	Task(Task-2).choreographer.browser_async.browser_async.py._watchdog- Running wait.
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Cmd 'Target.getTargets', param keys '', sessionId ''
DEBUG2	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Full params: None
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Broker writing Target.getTargets with key ('', 0)
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Created future: ('', 0) <Future pending>
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels._wire._wire.py.serialize- Serialized: {"id": 0, "meth...et.getTargets"}, size: 40
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels._wire._wire.py.serialize- Whole message: {"id": 0, "method": "Target.getTargets"}
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- Writing message b'{"id": 0, "meth'...b't.getTargets"}\x00', size: 41.
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- Full Message: b'{"id": 0, "method": "Target.getTargets"}\x00'
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- ***Wrote 41/41***
DEBUG	Thread().Task().browser_proc.- wrapper CLI: ['/usr/bin/google-chrome', '--disable-gpu', '--headless', '--no-sandbox', '--disable-breakpad', '--allow-file-access-from-files', '--enable-logging=stderr', '--user-data-dir=/home/tliu/tmp/tmpvh6m1p0j', '--no-first-run', '--enable-unsafe-swiftshader', '--disable-dev-shm-usage', '--disable-background-media-suspend', '--disable-lazy-loading', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-renderer-backgrounding', '--disable-component-update', '--disable-hang-monitor', '--disable-popup-blocking', '--disable-prompt-on-repost', '--disable-ipc-flooding-protection', '--disable-sync', '--metrics-recording-only', '--password-store=basic', '--use-mock-keychain', '--no-default-browser-check', '--no-process-per-site', '--disable-web-security', '--remote-debugging-pipe']
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
DEBUG	Thread().Task().browser_proc.- [INFO:components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc:206] No machine level policy manager exists.
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [WARNING:sandbox/policy/linux/sandbox_linux.cc:404] InitializeSandbox() called with multiple threads in process gpu-process.
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [WARNING:device/bluetooth/dbus/bluez_dbus_manager.cc:209] Floss manager service not available, cannot set Floss enable/disable.
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- First read in loop: b'{"id":0,"result'...b'E5A4490E5"}]}}\x00'. size: 506.
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"id":0,"result":{"targetInfos":[{"targetId":"C1C815D56EB7FC254DE79B002F58BBEE","type":"background_page","title":"Google Hangouts","url":"chrome-extension://nkeimhogjdpnpccoofpliimaahmaaome/background.html","attached":false,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"},{"targetId":"B5B0E7191D6F45C259DDE94FAFF3889D","type":"page","title":"New Tab","url":"chrome://newtab/","attached":false,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"}]}}\x00'
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Total loops: 1, Final size: 506.
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"id":0,"result":{"targetInfos":[{"targetId":"C1C815D56EB7FC254DE79B002F58BBEE","type":"background_page","title":"Google Hangouts","url":"chrome-extension://nkeimhogjdpnpccoofpliimaahmaaome/background.html","attached":false,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"},{"targetId":"B5B0E7191D6F45C259DDE94FAFF3889D","type":"page","title":"New Tab","url":"chrome://newtab/","attached":false,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"}]}}\x00'
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Received 2 raw_messages.
DEBUG	Task(Task-3).choreographer._brokers._async._async.py.read_loop- Channel read found 1 json objects.
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Task(Task-3).choreographer._brokers._async._async.py.read_loop- Have a response with key ('', 0)
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Task(Task-3).choreographer._brokers._async._async.py.read_loop- Found future for key ('', 0)
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.__init__- Created new target B5B0E7191D6F45C259DDE94FAFF3889D.
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Cmd 'Target.attachToTarget', param keys 'dict_keys(['targetId', 'flatten'])', sessionId ''
DEBUG2	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Full params: {'targetId': 'B5B0E7191D6F45C259DDE94FAFF3889D', 'flatten': True}
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Broker writing Target.attachToTarget with key ('', 1)
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Created future: ('', 1) <Future pending>
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels._wire._wire.py.serialize- Serialized: {"id": 1, "meth...latten": true}}, size: 121
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels._wire._wire.py.serialize- Whole message: {"id": 1, "method": "Target.attachToTarget", "params": {"targetId": "B5B0E7191D6F45C259DDE94FAFF3889D", "flatten": true}}
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- Writing message b'{"id": 1, "meth'...b'atten": true}}\x00', size: 122.
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- Full Message: b'{"id": 1, "method": "Target.attachToTarget", "params": {"targetId": "B5B0E7191D6F45C259DDE94FAFF3889D", "flatten": true}}\x00'
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.write_json- ***Wrote 122/122***
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- First read in loop: b'{"method":"Targ'...b'009AFB42239"}}\x00'. size: 401.
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"method":"Target.attachedToTarget","params":{"sessionId":"98FEE16E4C5183075A91D009AFB42239","targetInfo":{"targetId":"B5B0E7191D6F45C259DDE94FAFF3889D","type":"page","title":"New Tab","url":"chrome://newtab/","attached":true,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"},"waitingForDebugger":false}}\x00{"id":1,"result":{"sessionId":"98FEE16E4C5183075A91D009AFB42239"}}\x00'
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Total loops: 1, Final size: 401.
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"method":"Target.attachedToTarget","params":{"sessionId":"98FEE16E4C5183075A91D009AFB42239","targetInfo":{"targetId":"B5B0E7191D6F45C259DDE94FAFF3889D","type":"page","title":"New Tab","url":"chrome://newtab/","attached":true,"canAccessOpener":false,"browserContextId":"8C61B07C8243CB98416E0F9E5A4490E5"},"waitingForDebugger":false}}\x00{"id":1,"result":{"sessionId":"98FEE16E4C5183075A91D009AFB42239"}}\x00'
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Received 3 raw_messages.
DEBUG	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Channel read found 2 json objects.
DEBUG2	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Is event for 
DEBUG	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Received event Target.attachedToTarget for  targeting <choreographer.protocol.devtools_async.Session object at 0x7f04557a5d30>.
DEBUG2	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Checking for event subscription future.
DEBUG2	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Checking for event subscription callback.
DEBUG	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Have a response with key ('', 1)
DEBUG	Task(Task-4).choreographer._brokers._async._async.py.read_loop- Found future for key ('', 1)
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.__init__- New session: 98FEE16E4C5183075A91D009AFB42239
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.populate_targets- The target B5B0E7191D6F45C259DDE94FAFF3889D was added
DEBUG	Thread().Task().browser_proc.- [WARNING:dbus/property.cc:94] Failed to connect to PropertiesChangedsignal.
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.Properties.GetAll: object_path= /org/freedesktop/UPower/devices/DisplayDevice: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [WARNING:dbus/property.cc:174] GetAll request failed for: org.freedesktop.UPower.Device
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/bus.cc:406] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
DEBUG	Thread().Task().browser_proc.- [ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= /org/freedesktop/DBus: unknown error type: 
DEBUG	Thread().Task().browser_proc.- [WARNING:ui/base/idle/idle_linux.cc:98] None of the known D-Bus ScreenSaver services could be used.
INFO	Task(Task-1).choreographer.browser_async.browser_async.py.close- Closing browser.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Cancelling watchdog.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Starting browser close methods.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py._close- Trying Browser.close
DEBUG	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Cmd 'Browser.close', param keys '', sessionId ''
DEBUG2	Task(Task-1).choreographer.protocol.devtools_async.devtools_async.py.send_command- Full params: None
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Broker writing Browser.close with key ('', 2)
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.write_json- Created future: ('', 2) <Future pending>
DEBUG	Task(Task-2).choreographer.browser_async.browser_async.py._watchdog- Watchdog full shutdown (in finally:)
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels._wire._wire.py.serialize- Serialized: {"id": 2, "meth...Browser.close"}, size: 36
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels._wire._wire.py.serialize- Whole message: {"id": 2, "method": "Browser.close"}
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.write_json- Writing message b'{"id": 2, "meth'...b'rowser.close"}\x00', size: 37.
DEBUG2	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.write_json- Full Message: b'{"id": 2, "method": "Browser.close"}\x00'
DEBUG	Thread(readwrite_thread-0).Task(None).choreographer.channels.pipe.pipe.py.write_json- ***Wrote 37/37***
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- First read in loop: b'{"id":2,"result'...b'2,"result":{}}\x00'. size: 21.
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"id":2,"result":{}}\x00'
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Total loops: 1, Final size: 21.
DEBUG2	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Whole buffer: b'{"id":2,"result":{}}\x00'
DEBUG	Thread(readwrite_thread-1).Task(None).choreographer.channels.pipe.pipe.py.read_jsons- Received 2 raw_messages.
DEBUG	Task(Task-5).choreographer._brokers._async._async.py.read_loop- Channel read found 1 json objects.
DEBUG	Task(Task-5).choreographer._brokers._async._async.py.read_loop- Have a response with key ('', 2)
DEBUG	Task(Task-5).choreographer._brokers._async._async.py.read_loop- Found future for key ('', 2)
DEBUG	Thread().Task().browser_proc.- [ERROR:content/browser/devtools/devtools_pipe_handler.cc:188] Connection terminated while reading from pipe
DEBUG	Task(None).choreographer._brokers._async._async.py.check_read_loop_error- Error in readloop. Will post a close() task.
DEBUG	Task(None).choreographer._brokers._async._async.py.check_read_loop_error- PipeClosedError caught
DEBUG2	Task(None).choreographer._brokers._async._async.py.check_read_loop_error- Full Error:
 Traceback (most recent call last):
   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/_brokers/_async.py", line 141, in read_loop
    responses = await loop.run_in_executor(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/utils/_manual_thread_pool.py", line 37, in _worker
    res = fn(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^
   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/channels/pipe.py", line 130, in read_jsons
    raise ChannelClosedError(
 choreographer.channels._errors.ChannelClosedError: The communication channel was either never opened or closed. Was .open() or .close() called?

INFO	Task(Task-7).choreographer.browser_async.browser_async.py.close- Closing browser.
DEBUG	Task(Task-7).choreographer.browser_async.browser_async.py.close- Cancelling watchdog.
DEBUG	Thread().Task().browser_proc.- [ERROR:content/browser/devtools/devtools_pipe_handler.cc:274] Could not write into pipe
DEBUG	Thread().Task().browser_proc.- [ERROR:content/browser/devtools/devtools_pipe_handler.cc:274] Could not write into pipe
DEBUG	Thread().Task().browser_proc.- [WARNING:chrome/browser/extensions/external_pref_loader.cc:296] You are using an old-style extension deployment method (external_extensions.json), which will soon be deprecated. (see http://developer.chrome.com/docs/extensions/how-to/distribute/install-extensions)
WARNING	Task(Task-1).choreographer.browser_async.browser_async.py._close- Resorting to unclean kill browser.
DEBUG	Task(Task-1).choreographer.utils._kill._kill.py.kill- Called terminate (a light kill).
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from operator()@net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc:259 to client_task_runner_.
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from operator()@net/extras/sqlite/sqlite_persistent_shared_dictionary_store.cc:252 to client_task_runner_.
DEBUG	Thread().Task().browser_proc.- Traceback (most recent call last):
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browsers/_unix_pipe_chromium_wrapper.py", line 60, in <module>
DEBUG	Thread().Task().browser_proc.-     process.wait()
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/subprocess.py", line 1264, in wait
DEBUG	Thread().Task().browser_proc.-     return self._wait(timeout=timeout)
DEBUG	Thread().Task().browser_proc.-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/subprocess.py", line 2053, in _wait
DEBUG	Thread().Task().browser_proc.-     (pid, sts) = self._try_wait(0)
DEBUG	Thread().Task().browser_proc.-                  ^^^^^^^^^^^^^^^^^
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/subprocess.py", line 2011, in _try_wait
DEBUG	Thread().Task().browser_proc.-     (pid, sts) = os.waitpid(self.pid, wait_flags)
DEBUG	Thread().Task().browser_proc.-                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/site-packages/choreographer/browsers/_unix_pipe_chromium_wrapper.py", line 52, in kill_proc
DEBUG	Thread().Task().browser_proc.-     process.wait(5)  # 5 seconds to clean up nicely, it's a lot
DEBUG	Thread().Task().browser_proc.-     ^^^^^^^^^^^^^^^
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/subprocess.py", line 1264, in wait
DEBUG	Thread().Task().browser_proc.-     return self._wait(timeout=timeout)
DEBUG	Thread().Task().browser_proc.-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
DEBUG	Thread().Task().browser_proc.-   File "/opt/conda/envs/python_for_data_science_env/lib/python3.12/subprocess.py", line 2045, in _wait
DEBUG	Thread().Task().browser_proc.-     raise TimeoutExpired(self.args, timeout)
DEBUG	Thread().Task().browser_proc.- subprocess.TimeoutExpired: Command '['/usr/bin/google-chrome', '--disable-gpu', '--headless', '--no-sandbox', '--disable-breakpad', '--allow-file-access-from-files', '--enable-logging=stderr', '--user-data-dir=/home/tliu/tmp/tmpvh6m1p0j', '--no-first-run', '--enable-unsafe-swiftshader', '--disable-dev-shm-usage', '--disable-background-media-suspend', '--disable-lazy-loading', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-renderer-backgrounding', '--disable-component-update', '--disable-hang-monitor', '--disable-popup-blocking', '--disable-prompt-on-repost', '--disable-ipc-flooding-protection', '--disable-sync', '--metrics-recording-only', '--password-store=basic', '--use-mock-keychain', '--no-default-browser-check', '--no-process-per-site', '--disable-web-security', '--remote-debugging-pipe']' timed out after 5 seconds
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Browser close methods finished.
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.clean- Cancelling message futures
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.clean- Cancelling read task
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.clean- Cancelling subscription-futures
DEBUG	Task(Task-1).choreographer._brokers._async._async.py.clean- Cancelling background tasks
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Broker cleaned up.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Logging pipe closed.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Browser channel closed.
INFO	Task(Task-1).choreographer.utils._tmpfile._tmpfile.py.clean- TemporaryDirectory.cleanup() worked.
INFO	Task(Task-1).choreographer.utils._tmpfile._tmpfile.py.clean- shutil.rmtree worked.
DEBUG	Task(Task-1).choreographer.browser_async.browser_async.py.close- Browser implementation cleaned up.

***********uv:***********
Error w/ uv: [Errno 2] No such file or directory: 'uv'
***********git:**********
Error w/ git: Command '['git', 'describe', '--tags', '--long', '--always']' returned non-zero exit status 128.
3.12.12 | packaged by conda-forge | (main, Oct 22 2025, 23:25:55) [GCC 14.3.0]
sys.version_info(major=3, minor=12, micro=12, releaselevel='final', serial=0)
*************Done with version info.**************
**************************************************
*****************Actual Run Tests*****************
***************Async Test Headless****************
**********Done with async test headless***********

Thank you! Please share these results with us!
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from FinishedLoadingCookies@net/extras/sqlite/sqlite_persistent_cookie_store.cc:1729 to client_task_runner_.
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from FinishedLoadingCookies@net/extras/sqlite/sqlite_persistent_cookie_store.cc:1729 to client_task_runner_.
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from FinishedLoadingCookies@net/extras/sqlite/sqlite_persistent_cookie_store.cc:1729 to client_task_runner_.
DEBUG	Thread().Task().browser_proc.- [WARNING:net/extras/sqlite/sqlite_persistent_store_backend_base.cc:176] Failed to post task from LoadReportingClientsAndNotifyInBackground@net/extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc:1364 to client_task_runner_.
INFO	Task(None).choreographer.utils._tmpfile._tmpfile.py.clean- TemporaryDirectory.cleanup() worked.
INFO	Task(None).choreographer.utils._tmpfile._tmpfile.py.clean- shutil.rmtree worked.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions