Skip to content

Jupyter kernel fails in Quarto #89

Description

@dimalvovs

Observed on the latest Mas OS Tahoe 26.5.1, the image build by the git actions results in jupyter kernel failure:

btc-TCRtoolkit-Bulk % docker run -it ghcr.io/karchinlab/tcrtoolkit:main /bin/bash 
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
(base) root@250daffb3614:/tmp# quarto check jupyter
Quarto 1.6.42
[✓] Checking Python 3 installation....OK
(-) Checking Python 3 installation....      Version: 3.11.5 (Conda)
      Path: /opt/conda/bin/python
      Jupyter: 5.9.1
      Kernels: python3

(-) Checking Jupyter engine render....qemu: uncaught target signal 11 (Segmentation fault) - core dumped
[✓] Checking Jupyter engine render....OK

this mostly affects development as TCRToolkit is meant to be run server-side.

The current local fix is rebuilding the docker image (it then uses the quarto version that matches the host architecture) and then referring to the container: by CONTAINER environment variable 41b5fb9 for running nf-test, or the --container <image> param for running via nextflow run 749a073.

Local container works well:

btc-TCRtoolkit-Bulk % docker run -it ghcr.io/karchinlab/tcrtoolkit:lvovs /bin/bash
(base) root@9d61c345e413:/tmp# quarto check jupyter
Quarto 1.9.38
[✓] Checking Python 3 installation....OK
      Version: 3.11.5 (Conda)
      Path: /opt/conda/bin/python
      Jupyter: 5.9.1
      Kernels: python3

(|) Checking Jupyter engine render....[IPKernelApp] WARNING | Kernel is running over TCP without encryption. All communication (including code and outputs) is sent in plain text and is susceptible to eavesdropping. Use IPC transport or launch with kernel manager-provisioned CurveZMQ keys to enable transport encryption.
[✓] Checking Jupyter engine render....OK

We may introduce multiarch containers, or find another fix (in testing, it appeared that installing jupyter via pip sometimes worked on Mac with the original amd64 image), but since the pipeline is intended to be run on servers, it does not seem too important now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions