[Cesium Desktop] Lancement impossible sur certaines distributions Linux (Cesium >= 1.6.2)

Sur mon système GNU/Linux Debian Buster, l’écran d’éclaboussure :wink: fonctionne parfaitement. v1.6.3 v1.6.5.

Tu ne vois pas de splashcreen, au lancement ?

Explications sur l’écran de lancement

/!\ Pour les techos uniquement :slight_smile:

J’ai ajouté cet écran car il me permet d’exécuter du code dans NodeJS avant la lancement de la version web “classique” de Cesium. Et surtout ce code est isolé, et non plus injecté dans la page web (index.html ou index-integrity.html) de Cesium, qui reste ainsi totalement inchangé vis à vis du Zip de la version web. Je trouve cela plus élégant.

Aujourd’hui, ce code de lancement, prend en charge :

  • la détection d’un noeud Duniter loca, pour demander son utilisation, avant que Cesium ne se lance
  • la détection d’un fichier de ./config/cesium/keyring.yml pour se connecter automatiquement à ce compte
  • la redirection des log JS vers la console, avec l’option de lancement --debug
  • la gestion des fenetres et du menu (maqué par défaut, car en cours de développement, testable avec l’option de lancement --menu)

A terme, ce code pourra aussi gérer :

  • la gestion des mises à jour, lors du redémarrage. Genre : “Une nouvelle version de Cesium est disponible (vx.y.z). Voulez-vous l’installer ?” et hop, mise à jour ! :wink: Depuis IPFS idéalement. à voir.
2 Likes

Mis à jour (1.6.5) sur un Ubuntu 20.04LTS.
Le splashscreen apparait puis pouf plus rien!

Le debug affiche:

cesium --debug
[6177:6177:0430/211724.159358:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[6204:6204:0430/211724.196667:ERROR:sandbox_linux.cc(371)] InitializeSandbox() called with multiple threads in process gpu-process.
[6204:6204:0430/211724.409807:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[INFO] [splash] Launching Cesium… {« debug »:true,« menu »:false,« sdk »:false,« home »:"/home/ke"}
[ERROR] {}

une idée?

edit: ça marche avec la 1.6.1 :wink:

Non, pas d’idée ! Je vais avoir besoin de vous @Nassim et @Reumy pour débugger tout ça. Je vais mettre à disposition une version de Cesium avec un NWJS (qui gère le navigateur intégré) en version SDK. Ainsi le lancement avec --debug ouvrira une console Javascript de débogage. Je vous tiens au courant.

2 Likes

Pas de soucis, envoies moi la version quand tu veux !

J’ai pu faire une version SDK de Cesium-desktop, pour mieux débugger tout ca.

@Nassim, @Reumy, pouvez-vous s’il vous plait :

  • télécharger de SDK (.deb) v1.6.7 : https://github.com/duniter/cesium/releases/
  • installer le paquet
  • lancer la commande cesium --debug --menu et donnez moi :
    • Vos logs console
    • Ou mieux, les logs de la fenetre de développement Javascript qui s’ouvre (enfin normalement).

Merci !

EDIT: il faut bien mettre --menu pour que les logs s’affiche dans le terminal. C’est un bug résiduel…

1 Like

Salut @kimamila

Voici les logs au démarrage :

nassim@nassim:~$ cesium --debug --menu
[9383:9383:0506/212255.747122:ERROR:sandbox_linux.cc(371)] InitializeSandbox() called with multiple threads in process gpu-process.
[9386:9399:0506/212255.979624:ERROR:nss_util.cc(750)] After loading Root Certs, loaded==false: NSS error code: -8018
[9383:9383:0506/212256.001510:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[INFO] [desktop] Opening debugger…
[INFO] [desktop] Launching Cesium… {« debug »:true,« menu »:true,« sdk »:true,« home »:"/home/nassim"}
[DEBUG] [desktop] Getting settings from the local storage…
[INFO] [desktop] User home: /home/nassim
[INFO] [desktop] User locale: fr
[INFO] [desktop] Preparing settings…
[DEBUG] [desktop] Opening window {id: ‹ cesium ›, title: ‹ Cesium ›} …
[9383:9383:0506/212257.499220:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[9383:9383:0506/212257.525036:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[DEBUG] [desktop] Getting settings from the local storage…
[DEBUG] [desktop] Adding menu…
[INFO] [desktop] Opening debugger…
[9383:9383:0506/212258.141924:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[DEBUG] [storage] Starting {local} storage…
[DEBUG] [settings] Locale [fr-FR]
[DEBUG] [cache] Creating cache {csWot-idty-300s} with {storageMode: memory}…
[DEBUG] [cache] Creating cache {csWot-requirements-300s} with {storageMode: memory}…
[DEBUG] [app] Root path is [chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium/index.html]
[DEBUG] [settings] Starting…
[DEBUG] [cache] Creating cache {esWot-memberships-300s} with {storageMode: memory}…
[DEBUG] [crypto] Starting…
[DEBUG] [crypto] Loading ‹ FullJS › implementation…
[WARN] pre-main prep time: 3 ms
[DEBUG] [cache] Creating cache {csHttp-3600s} with {storageMode: memory}…
[DEBUG] [device] Ionic platform ready - no device detected.
[DEBUG] [storage] Started in 259ms
[DEBUG] [settings] Loaded from local storage in 5ms
[DEBUG] [settings] Started
[DEBUG] [BMA] Starting g1.duniter.org {ssl: true)…
[DEBUG] [http] Checking actual version [1.7.21] is compatible with min expected version [1.1.0]
[DEBUG] [BMA] Started in 347ms
[DEBUG] [currency] Starting…
[DEBUG] [cache] Creating cache {BMA-54000s} with {storageMode: memory}…
[DEBUG] [cache] Creating cache {BMA-300s} with {storageMode: memory}…
[INFO] [app] Current version [1.6.7] is the latest release
[DEBUG] [http] Waiting websocket [/ws/block]…
[DEBUG] [currency] Started in 183ms
[DEBUG] [wallet] Starting…
[DEBUG] [wallet] Restore {wdt2QRpA} from local storage
[DEBUG] [wallet] Started in 6ms
[DEBUG] [filter] Loading translations for locale [fr-FR]
[DEBUG] [home] Loading feeds from https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json
[DEBUG] [cache] Creating cache {3600s} with {storageMode: memory}…
[DEBUG] [ES] [http] Starting on [g1.data.duniter.fr] (SSL on)…
[DEBUG] [filter] Computing constants from currency parameters
[DEBUG] [crypto] Loaded ‹ FullJS › implementation in 964ms
[DEBUG] [home] Feeds loaded in 206ms
[DEBUG] [ES] [http] Started in 302ms
[DEBUG] [ES] [profile] Enable
[DEBUG] [ES] [notification] Enable
[DEBUG] [ES] [notification] Loading count…wdt2QRpA
[DEBUG] [ES] [wallet] Enable
[DEBUG] [ES] [wallet] Loading user avatar+name…
[DEBUG] [ES] [message] Enable
[DEBUG] [ES] [message] Loading count…
[DEBUG] [ES] [subscription] Enable
[DEBUG] [ES] [registry] Loading pages count…
[DEBUG] [ES] [group] Enable
[DEBUG] [ES] [invitations] Enable
[DEBUG] [ES] [invitation] Loading count…
[DEBUG] [ES] [subscription] Enable
[DEBUG] [ES] [subscription] Loading subscriptions count…
[DEBUG] [ES] [tx] Enable
[DEBUG] [ES] [settings] Enable
[DEBUG] [http] Waiting websocket [/ws/block]…
[DEBUG] [ES] [notification] Loaded count (0) in 130ms
[DEBUG] [ES] [notification] Starting listen user event…
[DEBUG] [http] Waiting websocket [/ws/event/user/:pubkey/:locale]…
[DEBUG] [ES] [wallet] Loaded user avatar+name in 148ms
[DEBUG] [ES] [message] Loaded count (0) in 157ms
[DEBUG] [ES] [invitation] Loaded count (0) in 157ms
[DEBUG] [ES] [group] Detecting 0 unread notifications
[DEBUG] [ES] [registry] Loaded pages count (0)
[DEBUG] [ES] [subscription] Loaded count (0)
[DEBUG] [http] Listening on websocket [/ws/block]…
[DEBUG] [currency] Received new block {320082-0000019DC3A8673910F0C242DCFCBE165A9ED985525218FDDB315564CCCB9216}
[DEBUG] [http] Listening on websocket [/ws/event/user/:pubkey/:locale]…

Pas grand chose dans la console javascript :

cesium-desktop.js:169 [desktop] Opening debugger…
cesium-desktop.js:174 pre-main prep time: 3 ms
console.warn @ cesium-desktop.js:174
cesium-desktop.js:169 [app] Current version [1.6.7] is the latest release

Sinon l’application se lance correctement chez moi !

Juste cette phrase m’aurait suffit :slight_smile: Du moment que ca marche.
Maintenant peux tu tester le fichier .deb normal, pour voir si ca se lance toujours ?
Il te faudra peut-etre déinstaller l’autre version.

Toujours bon avec le .deb normal :wink:

1 Like

Cool ! Plus qu’à attendre la confirmation de @Reumy avant de déployer sur le site officiel cesium.app

1 Like

ça fonctionne (sdk et normal) merci @kimamila :wink:

1 Like

@kimamila
Sur une autre instal ubuntu 20, césium 1.6.7 ne se lance pas…
Voici le résultat de:

cesium --debug
[6865:6865:0519/182853.815367:ERROR:sandbox_linux.cc(371)] InitializeSandbox() called with multiple threads in process gpu-process.
[6844:6844:0519/182854.030772:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[6865:6865:0519/182857.929372:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[INFO]  [desktop] Opening debugger...
[INFO]  [desktop] Launching Cesium...	{"debug":true,"menu":false,"sdk":true,"home":"/home/alicia"}
[DEBUG] [desktop] Getting settings from the local storage...
[6865:6865:0519/182900.754941:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[ERROR] [desktop] Error while trying to launch Cesium: Cannot read property 'split' of null	TypeError: Cannot read property 'split' of null
    at loadSettings (chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:222:96)
    at startApp (chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:518:5)
    at chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:553:20
[6844:6844:0519/182900.900743:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
[6844:6844:0519/182900.900912:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
1 Like

Ok, du coup avec la trace je vais pouvoir régler cela facilement. Merci

1 Like

Çà ressemble à l’issue que j’avais faite…

1 Like

Je viens d’upgrade mon ubuntu en 20.04 et j’ai le même problème que @Reumy :

$ cesium
[10005:10005:0811/225345.354809:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[10032:10032:0811/225345.394998:ERROR:sandbox_linux.cc(371)] InitializeSandbox() called with multiple threads in process gpu-process.
[10032:10032:0811/225345.482660:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[INFO]  [desktop] Launching Cesium...	{"debug":false,"menu":false,"sdk":true,"home":"/home/elois"}
[ERROR] [desktop] Error while trying to launch Cesium: Cannot read property 'split' of null	TypeError: Cannot read property 'split' of null
    at loadSettings (chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:222:96)
    at startApp (chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:518:5)
    at chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium-desktop.js:553:20 

@kimamila tu disais pouvoir résoudre cela facilement’ est-ce déjà fait ? Si oui peut tu publier un hotfix pour que l’on puisse bénéficier du correctif ? Merci :slight_smile:

En attendant, existe t’il un moyen de contournement pour faire fonctionner cesium desktop sur ubuntu 20.04 ?

1 Like

Je vais tacher de faire une release cette semaine.

Oui, dans l’installation de Cesium-desktop, tu peux modifier le fichier cesium-desktop.js à la ligne 222, comme suit :

-  options.locale = (options.settings && options.settings.locale && options.settings.locale.id).split('-')[0] || options.locale || 'en';
+  const localeId = options.settings && options.settings.locale && options.settings.locale.id;
+  options.locale = localeId && localeId.split('-')[0] || options.locale || 'en';
6 Likes

Merci :slight_smile:

Merci cela fonctionne :slight_smile:

2 Likes

Peux tu tester la nouvelle version 1.6.8 (en pré-release) ? Puis me dire.
Merci :slight_smile:

1 Like

Installation ok sous version Xubuntu 20.04 (mais j’ai une fenetre blanche qui s’ouvre en plus de césium)
voici les logs :

cesium --debug
[11416:11416:0814/143327.977316:ERROR:component_loader.cc(165)] Failed to parse extension manifest.
[INFO]  [desktop] Opening debugger...
[INFO]  [desktop] Launching Cesium...	{"debug":true,"menu":false,"sdk":true,"home":"/home/vincentux"}
[DEBUG] [desktop] Getting settings from the local storage...
[INFO]  [desktop] User home:  	/home/vincentux
[INFO]  [desktop] User locale:	en
[INFO]  [desktop] Preparing settings...
[DEBUG] [desktop] Opening window {id: 'cesium', title: 'Cesium'} ...
[11416:11416:0814/143329.939396:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
[11416:11416:0814/143329.939466:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
[INFO]  [desktop] Opening debugger...
[DEBUG] [storage] Starting {local} storage...
[DEBUG] [settings] Locale [fr-FR]
[DEBUG] [cache] Creating cache {csWot-idty-300s} with {storageMode: memory}...
[DEBUG] [cache] Creating cache {csWot-requirements-300s} with {storageMode: memory}...
[DEBUG] [app] Root path is [chrome-extension://eddgpcgfbhhopcmllclnjdoiepjnmnjj/cesium/index.html]
[DEBUG] [settings] Starting...
[DEBUG] [cache] Creating cache {esWot-memberships-300s} with {storageMode: memory}...
[DEBUG] [crypto] Starting...
[DEBUG] [crypto] Loading 'FullJS' implementation...
[11416:11416:0814/143330.697753:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
[11416:11416:0814/143330.698024:ERROR:CONSOLE(1)] "Uncaught ReferenceError: DevToolsAPI is not defined", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@ac9418ba9c3bd7f6baaffa0b055dfe147e0f8364/&dockSide=undocked (1)
[WARN]  pre-main prep time: 4 ms
[DEBUG] [cache] Creating cache {csHttp-3600s} with {storageMode: memory}...
[DEBUG] [device] Ionic platform ready - no device detected.
[DEBUG] [storage] Started in 279ms
[DEBUG] [settings] No settings in local storage. Using defaults.
[DEBUG] [settings] Started
[DEBUG] [BMA] Starting g1.duniter.org {ssl: true)...
[DEBUG] [app] Registering protocol '%s'...
[INFO]  [app] Current version [1.6.8] is the latest release
[DEBUG] [crypto] Loaded 'FullJS' implementation in 699ms
[DEBUG] [http] Checking actual version [1.8.0] is compatible with min expected version [1.1.0]
[DEBUG] [BMA] Started in 584ms
[DEBUG] [currency] Starting...
[DEBUG] [cache] Creating cache {BMA-54000s} with {storageMode: memory}...
[DEBUG] [cache] Creating cache {BMA-300s} with {storageMode: memory}...
[DEBUG] [http] Waiting websocket [/ws/block]...
[DEBUG] [currency] Started in 242ms
[DEBUG] [wallet] Starting...
[DEBUG] [wallet] Started in 2ms
[DEBUG] [filter] Loading translations for locale [fr-FR]
[DEBUG] [home] Loading feeds from https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json...
[DEBUG] [cache] Creating cache {3600s} with {storageMode: memory}...
[DEBUG] [ES] [http] Starting on [g1.data.e-is.pro] (SSL on)...
[DEBUG] [filter] Computing constants from currency parameters
[DEBUG] [home] Feeds loaded in 54ms
[DEBUG] [http] Waiting websocket [/ws/block]...
[DEBUG] [ES] [http] Started in 352ms
[DEBUG] [ES] [profile] Enable
[DEBUG] [ES] [notification] Enable
[DEBUG] [ES] [wallet] Enable
[DEBUG] [ES] [message] Enable
[DEBUG] [ES] [subscription] Enable
[DEBUG] [ES] [group] Enable
[DEBUG] [ES] [invitations] Enable
[DEBUG] [ES] [subscription] Enable
[DEBUG] [ES] [tx] Enable
[DEBUG] [ES] [settings] Enable
[DEBUG] [http] Waiting websocket [/ws/block]...
[DEBUG] [http] Listening on websocket [/ws/block]...
[DEBUG] [currency] Received new block {347793-00000011235F1A6CBEA18A1BEB6BABCC0C0386ADCECA0FC1A3E40251EF05ED80}
^C[11455:11461:0814/143355.615926:ERROR:broker_posix.cc(106)] Error sending sync broker message: Relais brisé (pipe) (32)

AH oui, ca doit être un résidu de la version avec SDK que j’avais faite.
Sans le --debug c’est OK ?