Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodejs has been dowgraded from 22.9.0 to 12.4.0 in latest images #2170

Closed
1 task done
manics opened this issue Nov 5, 2024 · 8 comments · Fixed by #2172
Closed
1 task done

Nodejs has been dowgraded from 22.9.0 to 12.4.0 in latest images #2170

manics opened this issue Nov 5, 2024 · 8 comments · Fixed by #2172
Labels
type:Bug A problem with the definition of one of the docker images maintained here

Comments

@manics
Copy link
Contributor

manics commented Nov 5, 2024

What docker image(s) are you using?

base-notebook

Host OS system

Ubuntu 20.04

Host architecture

x86_64

What Docker command are you running?

docker run -it --rm quay.io/jupyter/base-notebook:2024-10-28 mamba list > 2024-10-28.txt
docker run -it --rm quay.io/jupyter/base-notebook:2024-11-04 mamba list > 2024-11-04.txt
diff -u 2024-10-28.txt 2024-11-04.txt

How to Reproduce the problem?

See above

Command output

--- 2024-10-28.txt      2024-11-05 12:18:56.990393826 +0000
+++ 2024-11-04.txt      2024-11-05 12:20:23.399905391 +0000
@@ -23,7 +23,7 @@
 attrs                     24.2.0             pyh71513ae_0    conda-forge
 babel                     2.14.0             pyhd8ed1ab_0    conda-forge
 beautifulsoup4            4.12.3             pyha770c72_0    conda-forge
-bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
+bleach                    6.2.0              pyhd8ed1ab_0    conda-forge
 blinker                   1.8.2              pyhd8ed1ab_0    conda-forge
 boltons                   24.0.0             pyhd8ed1ab_0    conda-forge
 brotli-python             1.1.0           py312h2ec8cdc_2    conda-forge
@@ -42,7 +42,7 @@
 conda-libmamba-solver     24.9.0             pyhd8ed1ab_0    conda-forge
 conda-package-handling    2.4.0              pyh7900ff3_0    conda-forge
 conda-package-streaming   0.11.0             pyhd8ed1ab_0    conda-forge
-configurable-http-proxy   4.6.2                hbf95b10_1    conda-forge
+configurable-http-proxy   4.2.3           node12_hac6e442_0    conda-forge
 cryptography              43.0.3          py312hda17c39_0    conda-forge
 debugpy                   1.8.7           py312h2ec8cdc_0    conda-forge
 decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
@@ -61,7 +61,6 @@
 httpcore                  1.0.6              pyhd8ed1ab_0    conda-forge
 httpx                     0.27.2             pyhd8ed1ab_0    conda-forge
 hyperframe                6.0.1              pyhd8ed1ab_0    conda-forge
-icu                       75.1                 he02047a_0    conda-forge
 idna                      3.10               pyhd8ed1ab_0    conda-forge
 importlib-metadata        8.5.0              pyha770c72_0    conda-forge
 importlib_metadata        8.5.0                hd8ed1ab_0    conda-forge
@@ -108,14 +107,13 @@
 libnsl                    2.0.1                hd590300_0    conda-forge
 libsodium                 1.0.20               h4ab18f5_0    conda-forge
 libsolv                   0.7.30               h3509ff9_0    conda-forge
-libsqlite                 3.47.0               hadc24fc_0    conda-forge
+libsqlite                 3.47.0               hadc24fc_1    conda-forge
 libssh2                   1.11.0               h0841786_0    conda-forge
 libstdcxx                 14.2.0               hc0a3c3a_1    conda-forge
 libstdcxx-ng              14.2.0               h4852527_1    conda-forge
 libuuid                   2.38.1               h0b41bf4_0    conda-forge
-libuv                     1.49.2               hb9d3cd8_0    conda-forge
 libxcrypt                 4.4.36               hd590300_1    conda-forge
-libxml2                   2.12.7               he7c6b58_4    conda-forge
+libxml2                   2.13.4               h064dc61_2    conda-forge
 libzlib                   1.3.1                hb9d3cd8_2    conda-forge
 lz4-c                     1.9.4                hcb278e6_0    conda-forge
 lzo                       2.10              hd590300_1001    conda-forge
@@ -131,7 +129,7 @@
 nbformat                  5.10.4             pyhd8ed1ab_0    conda-forge
 ncurses                   6.5                  he02047a_1    conda-forge
 nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
-nodejs                    22.9.0               hf235a45_0    conda-forge
+nodejs                    12.4.0               he1b5a44_0    conda-forge
 notebook                  7.2.2              pyhd8ed1ab_0    conda-forge
 notebook-shim             0.2.4              pyhd8ed1ab_0    conda-forge
 oauthlib                  3.2.2              pyhd8ed1ab_0    conda-forge
@@ -143,7 +141,7 @@
 parso                     0.8.4              pyhd8ed1ab_0    conda-forge
 pexpect                   4.9.0              pyhd8ed1ab_0    conda-forge
 pickleshare               0.7.5                   py_1003    conda-forge
-pip                       24.2               pyh8b19718_1    conda-forge
+pip                       24.3.1             pyh8b19718_0    conda-forge
 pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
 platformdirs              4.3.6              pyhd8ed1ab_0    conda-forge
 pluggy                    1.5.0              pyhd8ed1ab_0    conda-forge
@@ -176,11 +174,11 @@
 requests                  2.32.3             pyhd8ed1ab_0    conda-forge
 rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
 rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
-rpds-py                   0.20.0          py312h12e396e_1    conda-forge
+rpds-py                   0.20.1          py312h12e396e_0    conda-forge
 ruamel.yaml               0.18.6          py312h66e93f0_1    conda-forge
 ruamel.yaml.clib          0.2.8           py312h66e93f0_1    conda-forge
 send2trash                1.8.3              pyh0d859eb_0    conda-forge
-setuptools                75.1.0             pyhd8ed1ab_0    conda-forge
+setuptools                75.3.0             pyhd8ed1ab_0    conda-forge
 six                       1.16.0             pyh6c4a22f_0    conda-forge
 sniffio                   1.3.1              pyhd8ed1ab_0    conda-forge
 soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
@@ -191,7 +189,7 @@
 tk                        8.6.13          noxft_h4845f30_101    conda-forge
 tomli                     2.0.2              pyhd8ed1ab_0    conda-forge
 tornado                   6.4.1           py312h66e93f0_1    conda-forge
-tqdm                      4.66.5             pyhd8ed1ab_0    conda-forge
+tqdm                      4.66.6             pyhd8ed1ab_0    conda-forge
 traitlets                 5.14.3             pyhd8ed1ab_0    conda-forge
 truststore                0.10.0             pyhd8ed1ab_0    conda-forge
 types-python-dateutil     2.9.0.20241003     pyhff2d567_0    conda-forge
@@ -211,6 +209,5 @@
 yaml-cpp                  0.8.0                h59595ed_0    conda-forge
 zeromq                    4.3.5                h3b0a872_6    conda-forge
 zipp                      3.20.2             pyhd8ed1ab_0    conda-forge
-zlib                      1.3.1                hb9d3cd8_2    conda-forge
 zstandard                 0.23.0          py312hef9b889_1    conda-forge
 zstd                      1.5.6                ha6fb4c9_0    conda-forge

Expected behavior

Expect nodejs >= 22.9.0, in-line with the older image.

Actual behavior

Nodejs 22.9.0 was installed in the 2024-10-28 tag, 12.4.0 was installed in the 2024-11-04 tag

-nodejs                    22.9.0               hf235a45_0    conda-forge
+nodejs                    12.4.0               he1b5a44_0    conda-forge

Anything else?

No response

Latest Docker version

  • I've updated my Docker version to the latest available, and the issue persists
@manics manics added the type:Bug A problem with the definition of one of the docker images maintained here label Nov 5, 2024
@consideRatio
Copy link
Collaborator

consideRatio commented Nov 5, 2024

Hmmm, what caused this downgrade - ah nevermind, maybe this was due to node12...

-configurable-http-proxy   4.6.2                hbf95b10_1    conda-forge
+configurable-http-proxy   4.2.3           node12_hac6e442_0    conda-forge

@consideRatio
Copy link
Collaborator

Hmmm, is nodejs installed just because we install jupyterhub instead of jupyterhub-base? This project shouldn't install the conda-forge package jupyterhub I think, but install jupyterhub-base via conda-forge instead I believe.

docker run -it --rm quay.io/jupyter/base-notebook:2024-11-04 mamba repoquery whoneeds nodejs 
Entered start.sh with args: mamba repoquery whoneeds nodejs
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: mamba repoquery whoneeds nodejs

Executing the query nodejs



 Name                    Version Build               Depends     Channel     Subdir  
──────────────────────────────────────────────────────────────────────────────────────
 configurable-http-proxy 4.2.3   node12_hac6e442_0   nodejs 12.* conda-forge linux-64
 jupyterhub              5.2.1   pyh31011fe_0        conda-forge noarch

@manics
Copy link
Contributor Author

manics commented Nov 5, 2024

Only the amd64 mages are affected, arm64 images have nodejs v22.9.0

@mathbunnyru
Copy link
Member

@consideRatio I merged first PR, and then also updated selecting.md and CHANGELOG.md: ea849fa

Could you please create a second PR?
It will have to pass through a formal vote process but should be fast and easy.

@consideRatio
Copy link
Collaborator

For the removal of nodejs? Sure, I'm on it!

@consideRatio
Copy link
Collaborator

#2172

@ykazakov
Copy link

ykazakov commented Nov 6, 2024

I think the reason for the outdated version of nodejs is the following:

$ sudo docker run -it --rm quay.io/jupyter/minimal-notebook:2024-11-04 mamba install  "configurable-http-proxy>4.6" --dry-run
Entered start.sh with args: mamba install configurable-http-proxy>4.6 --dry-run
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: mamba install configurable-http-proxy>4.6 --dry-run

Looking for: ["configurable-http-proxy[version='>4.6']"]

conda-forge/noarch                                  17.2MB @  42.1MB/s  0.5s
conda-forge/linux-64                                39.6MB @  50.8MB/s  0.9s

Pinned packages:
  - python 3.12.*
  - python 3.12.*


Transaction

  Prefix: /opt/conda

  Updating specs:

   - configurable-http-proxy[version='>4.6']
   - ca-certificates
   - certifi
   - openssl


  Package                    Version  Build              Channel          Size
────────────────────────────────────────────────────────────────────────────────
  Install:
────────────────────────────────────────────────────────────────────────────────

  + icu                         75.1  he02047a_0         conda-forge      12MB
  + zlib                       1.3.1  hb9d3cd8_2         conda-forge      92kB
  + libuv                     1.49.2  hb9d3cd8_0         conda-forge     885kB

  Change:
────────────────────────────────────────────────────────────────────────────────

  - libxml2                   2.13.4  h064dc61_2         conda-forge     689kB
  + libxml2                   2.13.4  hb346dea_2         conda-forge     690kB

  Upgrade:
────────────────────────────────────────────────────────────────────────────────

  - nodejs                    12.4.0  he1b5a44_0         conda-forge      19MB
  + nodejs                    22.9.0  hf235a45_0         conda-forge      21MB
  - configurable-http-proxy    4.2.3  node12_hac6e442_0  conda-forge     825kB
  + configurable-http-proxy    4.6.2  hbf95b10_1         conda-forge       1MB

  Summary:

  Install: 3 packages
  Change: 1 packages
  Upgrade: 2 packages

  Total download: 36MB

────────────────────────────────────────────────────────────────────────────────


Dry run. Exiting.

DryRunExit: Dry run. Exiting.
$ sudo docker run -it --rm quay.io/jupyter/minimal-notebook:2024-11-04 mamba install  "configurable-http-proxy>4.6" "libxml2=2.13.4=h064dc61_2" --dry-run
Entered start.sh with args: mamba install configurable-http-proxy>4.6 libxml2=2.13.4=h064dc61_2 --dry-run
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: mamba install configurable-http-proxy>4.6 libxml2=2.13.4=h064dc61_2 --dry-run

Looking for: ["configurable-http-proxy[version='>4.6']", 'libxml2==2.13.4=h064dc61_2']

conda-forge/noarch                                  17.2MB @  39.9MB/s  0.5s
conda-forge/linux-64                                39.6MB @  57.9MB/s  0.8s

Pinned packages:
  - python 3.12.*
  - python 3.12.*


Could not solve for environment specs
The following packages are incompatible
├─ configurable-http-proxy >4.6  is installable and it requires
│  └─ nodejs [>=18.18.2,<19.0a0 |>=18.20.2,<19.0a0 |>=20.12.2,<21.0a0 |>=20.9.0,<21.0a0 |>=22.4.0,<23.0a0 ] with the potential options
│     ├─ nodejs [18.18.2|18.19.0|...|22.6.0] would require
│     │  └─ icu >=73.2,<74.0a0 , which can be installed;
│     └─ nodejs [18.20.3|18.20.4|...|22.9.0] would require
│        └─ icu >=75.1,<76.0a0 , which can be installed;
└─ libxml2 ==2.13.4 h064dc61_2 is not installable because it requires
   └─ icu <0.0a0 , which conflicts with any installable versions previously reported.

So it looks like there was a missing dependency for lcu in the package libxml2 version 2.13.4 which has been fixed in the meantime:

$ sudo docker run -it --rm quay.io/jupyter/minimal-notebook:2024-11-04 mamba repoquery depends "libxml2=2.13.4=h064dc61_2" -c conda-forge
Entered start.sh with args: mamba repoquery depends libxml2=2.13.4=h064dc61_2 -c conda-forge
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: mamba repoquery depends libxml2=2.13.4=h064dc61_2 -c conda-forge

Executing the query libxml2=2.13.4=h064dc61_2

conda-forge/noarch                                  17.2MB @  30.8MB/s  0.6s
conda-forge/linux-64                                39.6MB @  42.0MB/s  1.1s


 Name                      Version Build        Channel     Subdir  
─────────────────────────────────────────────────────────────────────
 libxml2                   2.13.4  h064dc61_2   conda-forge linux-64
 __glibc >>> NOT FOUND <<<                      localhost           
 libgcc                    14.2.0  h77fa898_1   conda-forge linux-64
 libiconv                  1.17    hd590300_2   conda-forge linux-64
 libzlib                   1.3.1   hd590300_0   conda-forge linux-64
 xz                        5.2.6   h166bdaf_0   conda-forge linux-64
$ sudo docker run -it --rm quay.io/jupyter/minimal-notebook:2024-11-04 mamba repoquery depends "libxml2=2.13.4=hb346dea_2" -c conda-forge
Entered start.sh with args: mamba repoquery depends libxml2=2.13.4=hb346dea_2 -c conda-forge
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: mamba repoquery depends libxml2=2.13.4=hb346dea_2 -c conda-forge

Executing the query libxml2=2.13.4=hb346dea_2

conda-forge/noarch                                  17.2MB @  45.0MB/s  0.4s
conda-forge/linux-64                                39.6MB @  60.3MB/s  0.8s


 Name                      Version Build        Channel     Subdir  
─────────────────────────────────────────────────────────────────────
 libxml2                   2.13.4  hb346dea_2   conda-forge linux-64
 __glibc >>> NOT FOUND <<<                      localhost           
 icu                       75.1    he02047a_0   conda-forge linux-64
 libgcc                    14.2.0  h77fa898_1   conda-forge linux-64
 libiconv                  1.17    hd590300_2   conda-forge linux-64
 libzlib                   1.3.1   hd590300_0   conda-forge linux-64
 xz                        5.2.6   h166bdaf_0   conda-forge linux-64

So building the image again without making any changes would probably fix the problem.

@mathbunnyru
Copy link
Member

So building the image again without making any changes would probably fix the problem.

The last build now has correct nodejs version: #2172 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:Bug A problem with the definition of one of the docker images maintained here
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants