Skip to content
This repository was archived by the owner on Feb 14, 2024. It is now read-only.

xeus-python kernel doesn't start with firefox #110

Closed
nthiery opened this issue Feb 11, 2023 · 7 comments
Closed

xeus-python kernel doesn't start with firefox #110

nthiery opened this issue Feb 11, 2023 · 7 comments
Labels
bug Something isn't working

Comments

@nthiery
Copy link

nthiery commented Feb 11, 2023

Description

Reproduce

  1. Open firefox
  2. Go to https://jupyterlite.github.io/xeus-python-demo/retro/notebooks/?path=demo.ipynb
  3. Execute first cell

The execution hangs at [*]: import this

Expected behavior

See the zen of Python

Context

  • JupyterLite version: Version 0.1.0-beta.18
  • Operating System and version: Ubuntu 22.04
  • Browser and version: Firefox 110.0 64 bit, build by canonical
Browser Output
Unsatisfied version 5.5.2 from _JUPYTERLAB.CORE_OUTPUT of shared singleton module @jupyterlab/coreutils (required ^5.6.1) remoteEntry.8e4043cf4e118658c12f.js:1:5837
Registering new JupyterLite ServiceWorker https://jupyterlite.github.io/xeus-python-demo/service-worker-b2fb40a.js service-manager.ts:50:16
Default kernel not found, using 'xeus-python' validate.ts:73:12
JupyterLite ServiceWorker was sucessfully registered service-manager.ts:52:16
Kernel filesystem and JupyterLite contents will be synced index.ts:235:16
SingleFile is hooking the IntersectionObserver API to detect and load deferred images. single-file-hooks-frames.js:1:531
Uncaught (in promise) TypeError: s is undefined
    d index.js:61
2 index.js:61:12
xeus-python contents will be synced with Jupyter Contents 20.6704bc71563170623fd0.js:1:2688
Starting WebSocket: wss://jupyterlite.github.io/xeus-python-demo/api/kernels/ed718396-d9c7-45c8-bd13-607e9106b8cd default.ts:1251:12
Default kernel not found, using 'xeus-python' validate.ts:73:12
Settings failed to load for (@jupyterlab/csvviewer-extension:csv) 
Array [ {…} ]
settingsplugin.ts:42:18
This may happen if {autoStart: false} in (@jupyterlab/csvviewer-extension:csv) or if it is one of the deferredExtensions in page config. settingsplugin.ts:44:20
Settings failed to load for (@jupyterlab/csvviewer-extension:tsv) 
Array [ {…} ]
settingsplugin.ts:42:18
This may happen if {autoStart: false} in (@jupyterlab/csvviewer-extension:tsv) or if it is one of the deferredExtensions in page config. settingsplugin.ts:44:20
Settings failed to load for (@jupyterlab/filebrowser-extension:widget) 
Array [ {…} ]
settingsplugin.ts:42:18
This may happen if {autoStart: false} in (@jupyterlab/filebrowser-extension:widget) or if it is one of the deferredExtensions in page config. settingsplugin.ts:44:20
Settings failed to load for (@jupyterlab/fileeditor-extension:plugin) 
Array [ {…} ]
settingsplugin.ts:42:18
This may happen if {autoStart: false} in (@jupyterlab/fileeditor-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.ts:44:20
Settings failed to load for (@jupyterlab/htmlviewer-extension:plugin) 
Array [ {…} ]
settingsplugin.ts:42:18
This may happen if {autoStart: false} in (@jupyterlab/htmlviewer-extension:plugin) or if it is one of the deferredExtensions in page config. settingsplugin.ts:44:20
Error: Dynamic module import is disabled or not supported in this context python_data.js:3:1
Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason: Control comm did not respond in time 150.b0e841b75317744a7595.js:1:5783
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:283:23
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:638:29
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:1387:31
Erreur d’analyse de la valeur pour « -webkit-transition-duration ».  Déclaration abandonnée. notebooks:1529:31
Erreur d’analyse de la valeur pour « transition-duration ».  Déclaration abandonnée. notebooks:1530:31
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1587:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1588:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1605:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1606:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1863:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1864:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1879:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1880:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1900:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1901:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1916:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1917:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1937:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1938:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1953:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1954:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1974:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1975:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:1990:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:1991:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:2016:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:2017:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:2034:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:2035:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:2060:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:2061:32
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:2078:32
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:2079:32
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2291:28
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2294:28
Pseudo-classe ou pseudo-élément « -ms-clear » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2302:28
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:2586:25
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:2652:25
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2807:72
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2824:84
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2880:26
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2883:26
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2929:35
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2934:35
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2939:35
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2947:37
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2982:38
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:2984:38
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3006:47
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3008:47
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3012:47
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3017:47
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3023:49
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3025:46
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:3157:31
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3334:14
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3337:14
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3389:26
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3391:26
Pseudo-classe ou pseudo-élément « -ms-clear » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3502:14
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3521:34
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:3523:34
Pseudo-classe ou pseudo-élément « -ms-expand » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:4027:27
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:4070:27
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:4281:27
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:4291:27
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:4302:29
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:5929:29
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:5963:31
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6258:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6259:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6270:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6271:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6354:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6355:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6374:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6375:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6394:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6395:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6414:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6415:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6496:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6497:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6516:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6517:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6536:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6537:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6556:28
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6557:28
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6674:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6675:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6690:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6691:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6721:34
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6722:34
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6737:34
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6738:34
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6795:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6796:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:6807:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:6808:30
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:7284:25
Erreur d’analyse de la valeur pour « -webkit-transform ».  Déclaration abandonnée. notebooks:7299:34
Erreur d’analyse de la valeur pour « transform ».  Déclaration abandonnée. notebooks:7300:34
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:7388:25
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:7596:29
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:7687:27
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:7751:47
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:7753:47
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:7786:20
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:7789:20
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:7819:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:7820:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:7835:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:7836:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:7853:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:7854:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:8087:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:8088:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:8103:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:8104:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:21:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:22:30
Erreur d’analyse de la valeur pour « -webkit-transition-delay ».  Déclaration abandonnée. notebooks:39:30
Erreur d’analyse de la valeur pour « transition-delay ».  Déclaration abandonnée. notebooks:40:30
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:51:23
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:5:54
Erreur d’analyse de la valeur pour « overflow ».  Déclaration abandonnée. notebooks:78:13
Pseudo-classe ou pseudo-élément « -ms-input-placeholder » inconnu.  Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:121:26
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:56:23
Propriété « -moz-outline-radius » inconnue.  Déclaration abandonnée. notebooks:67:23
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:48:61
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:55:61
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:84:51
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:90:51
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:108:45
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:113:45
Propriété « -moz-border-radius » inconnue.  Déclaration abandonnée. notebooks:244:22
Erreur d’analyse de la valeur pour « content ».  Déclaration abandonnée. notebooks:1:174
Jeu de règles ignoré suite à un mauvais sélecteur. notebooks:1:1318
Erreur d’analyse de la valeur pour « display ».  Déclaration abandonnée. notebooks:1:2750
Propriété « -moz-osx-font-smoothing » inconnue.  Déclaration abandonnée. notebooks:11:27
Propriété « -moz-box-shadow » inconnue.  Déclaration abandonnée. notebooks:504:19
Default kernel not found, using 'xeus-python' 13 validate.ts:73:12
@nthiery nthiery added the bug Something isn't working label Feb 11, 2023
@nthiery
Copy link
Author

nthiery commented Feb 11, 2023

Additional data:

  • Works fine on the same setup with chromium Version 109.0.5414.119 (Build officiel) snap (64 bits).
  • Other piolite based Jupyter-lite site worked fine with the same version of firefox

@martinRenou
Copy link
Member

Thanks for your issue!

It seems that the issue is that Firefox does not support dynamic imports in web workers and fails with Error: Dynamic module import is disabled or not supported in this context

See https://bugzilla.mozilla.org/show_bug.cgi?id=1540913 for the bug report

I think a quick fix would be to revert part of #108 (the part that makes use of split_pack_environment instead of pack_environment). In the long term we should either use an other approach than dynamic import calls or wait for a Firefox bug fix.

cc. @DerThorsten

@martinRenou
Copy link
Member

I think a quick fix would be to revert part of #108 (the part that makes use of split_pack_environment instead of pack_environment)

I'm pushing a PR for this

@nthiery
Copy link
Author

nthiery commented Feb 13, 2023

Thank you for the quick analysis! Happy to beta-test the PR as soon as available.

@martinRenou
Copy link
Member

This will be fixed by emscripten-forge/empack#59

@martinRenou
Copy link
Member

Next empack release will fix it (probably coming today). Thanks again for the report, we need stronger testing :S.

@jtpio
Copy link
Member

jtpio commented Feb 14, 2023

Maybe a small Galata / Playwright check that opens a notebook with the jupyterlite-xeus-python kernel in both chromium and firefox would be enough to start with?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants