« Réunion du 22-10-2024 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
 
(34 versions intermédiaires par le même utilisateur non affichées)
Ligne 24 : Ligne 24 :


== Redémarrage des régions ==
== Redémarrage des régions ==
=== Contexte Second Life===
* Second Life a ajouté une '''[[Lexique_des_réunions#CAPS | capability]] RegionSchedule''' qui permet le redémarrage d'une région.
* '''Un panneau mobile (floater)''' a été ajouté pour configurer le redémarrage de la région. Dans le viewer ce panneau devrait apparaître uniquement dans la version Second Life.
=== Dans OpenSim ===
* '''Dans OpenSim'''  on ne peut qu'éteindre un simulateur, après quoi on a besoin d'une '''solution externe pour le redémarrer.''' La fonction « restart » a été supprimée il y a un certain temps, parce qu'elle n'a jamais fonctionné, donc maintenant, elle ne fait plus rien à part arrêter le simulateur.
=== Solutions ===
* Cuga Rajal utilise des [https://fr.wikipedia.org/wiki/Script_shell '''scripts shell''']] pour redémarrer un simulateur.
* Ubit Umarov dit que certains propriétaires de simulation utilise des [https://www.malekal.com/boucle-while-bash-linux-exemples/ '''boucles while''' ]] sur le script de démarrage .sh (shell). Ainsi, si la région meurt, elle redémarre automatiquement. Mais il faut tuer ce script si on veut vraiment tuer la région.
* On peut utiliser [https://fr.wikipedia.org/wiki/Cron '''Cron''']] pour plannifier une tâche qui redémarrerait un simulateur si son [https://fr.wikipedia.org/wiki/Identifiant_de_processus '''pid''']]  manque.
* Script sur le wiki officiel d'OpenSimulator : http://opensimulator.org/wiki/Startup_script_linux
* Sur '''GNU/Linux''' il vaut mieux lancer OpenSim dans [https://fr.wikipedia.org/wiki/GNU_Screen '''Screen'''] ou [https://fr.wikipedia.org/wiki/Tmux '''Tmux'''].
* Sur '''MacOS''' on utilise '''Screen'''.
* Sous '''Windows''', on peut configurer des tâches planifiées et des services pour cela.
= Dotnet pour Ubuntu=
= Dotnet pour Ubuntu=
== Problème ==
== Problème ==
Ligne 46 : Ligne 61 :
= Modules =
= Modules =
== llDetectedLinkNumber avec BulletSim ==
== llDetectedLinkNumber avec BulletSim ==
=== Problème ===
* Cuga Rajal aimerait corriger un vieux bug de [http://opensimulator.org/wiki/BulletSim/fr '''BulletSim''']. [https://wiki.secondlife.com/wiki/LlDetectedLinkNumber '''llDetectedLinkNumber(integer x);'''] fonctionne quand un objet lié n'est pas physique. Le nombre de lien retourné change quand l'objet devient physique, ce qui ne devrait pas se produire.
=== Réponses ===
* Ubit Umarov suppose que '''BulletSim''' ne permet pas à  LlDetectedLinkNumber  de fonctionner car il '''perd les informations des primitives''' pour les collisions.
* Avec BulletSim quand un objet devient physique il se transforme en quelque chose d'autre sans aucune mémoire de ce qu'il y avait avant.
* '''Autres explications''' : un simple problème dans le code de copier coller ou la primitive à l'intérieur de la boîte de délimitation pourrait être ignorée. Cuja Rajal pense que c'est lié à l'utilisation exclusive de la racine pour le mouvement.
=== Pourquoi utiliser BulletSim à la place d'ubODE ? ===
'''Cugal Rajal répond :'''
* '''BulletSim''' semble '''plus réaliste pour les véhicules''', particulièrement pour les véhicules terrestres. Avec  ubODE on ne peut pas aller au delà de 290 km/h (180 mph = 180 milles par heure). Avec BulletSim il est possible d'aller jusqu'à 644 km/h (400 Mph)
* Certains objets physiques ne fonctionnaient pas bien avec '''ubODE'''[https://github.com/opensim/opensim/tree/master/OpenSim/Region/PhysicsModules/ubOde].
* '''BulletSim''' a un comportement '''plus proche''' de ce qui existe dans Second Life.
* Cependant depuis quelques mois Cugal Rajal a appris à '''re-fractoriser  les scripts''' pour qu'ils fonctionnent '''avec ubODE'''. De nombreuses forces/impulsions doivent être redéfinies. Dans certains cas il faut remplacer la racine d'un objet lié. Ainsi, il espère pouvoir '''passer définitivement de BulletSim à ubODE'''.
* Donc, les deux moteurs physiques ont  des avantages et des inconvénients.
=== Bilan ===
* Vincent Sylvester propose à Cuga Rajal de définir si les différences entre BulletSim et ubODE sont des bogues ou des particularités des moteurs physiques puis, faire éventuellement une liste des choses à modifier/corriger dans ubODE. Il pense que  ce serait bien d'avoir une liste des réserves, de limitations quelque part au cas où quelqu'un y serait confronté.
* Ubit Umarov trouve que le ciel est bleu aujourd'hui. :)
==JOpenSim ==
* Le propriétaire de Zone Nations a publié sur le [https://www.jopensim.com/forum/index.html forum de jOpenSim] un prototype d'une version modifiée de JOpenSimPaypal avec le support de [https://github.com/btcpayserver BTCPay]. Ce travail concerne [https://www.jopensim.com/ '''jOpenSim 5'''] pour [https://downloads.joomla.org/fr/ '''Joomla! 5'''].
{{NDLR|fond=white |bord=green|message = <br>
Je n'ai pas trouvé le message sur le Forum de jOpenSim.
}}
= Bugs =
= Bugs =
== Bug de ubODE ==
== Bogues dans ubODE ? ==
=== Situation ===
* Web Rain  signal qu'il y aurait un '''problème de sécurité lié au binaire dans ubODE''', problème reporté par l'IA de gitHub.
* '''cp de github lvl critical''' : Copie d'un projet sur GitHub avec un niveau de criticité élevé.
* '''Unvalidated local pointer arithmetic''' : Arithmétique de pointeur local non validée.
{{NDLR|fond=white |bord=green|message = <br>
Cela signifie que les opérations d'arithmétique sur des pointeurs (c'est-à-dire les calculs qui manipulent les adresses mémoire) qui sont effectuées sur des pointeurs locaux n'ont pas été vérifiées ou validées.
}}
* '''Explication de Web Rain''' : Il est dangereux d'utiliser le résultat d'un appel de méthode virtuelle dans l'arithmétique des pointeurs sans validation si des utilisateurs externes peuvent fournir leur propre implémentation de la méthode virtuelle. Par exemple, si le projet analysé est distribué comme une bibliothèque ou un cadre, alors l'utilisateur final pourrait fournir une nouvelle implémentation qui renvoie n'importe quelle valeur.
* '''Code concerné''' : [http://opensimulator.org/viewgit/?a=viewblob&p=opensim&h=00733f35beb19ca7569934bb99664420444d8d12&hb=3506134ede3cf69e7ed562adf38a66c04f2512c4&f=OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs]
 
=== Réponse ===
* Ubit Umarov et Vincent Sylvester  pensent que le problème signalé pourrait entraîner des erreurs de référence nulle ou de pointeur nul, au pire faire planter le simulateur mais,  ils estiment que '''ce n'est pas quelque chose de critique''', plutôt dans la catégorie ennuyeuse si on arrive à tomber dessus. Ils notent que le simulateur a tendance à planter pour des problèmes plus fréquents que celui-ci. Les pointeurs en langage C provoquent facilement des plantages.
* Il faudrait quand même classer le bogue dans la '''Mantis''' en mode privé.
* Mais, il faudrait quand même s'en préoccuper si cela peut causer un crash.
 
= Scripts =
== Brève ==
* Second Life a ajouté une fonctionnalité qui permet d''''afficher les disténation de téléportation''' et d'autres informations par le  biais d'un script
 
= Informations =
= Informations =
== Systèmes d'exploitation  des grilles ==
== Systèmes d'exploitation  des grilles ==
Ligne 57 : Ligne 115 :


== Heure d'hiver en Europe==
== Heure d'hiver en Europe==
=== Les changements d'heure ===
* L''''Union Eurpéenne''' passe à l'heure d'hiver le '''dimanche 27 octobre''' et recule d'une heure. À 3h00 du matin il sera 2h00.
* Le changement d'heure en '''Amérique du Nord''' est prévu pour le '''dimanche 3 Novembre'''. 
* Voir [[Lexique_des_réunions#Fuseaux_horaires|'''Fuseaux horaires dans le lexique d'OSWiki''']]
=== Horaire de la réunion des développeurs ===
'''Tous les mardis''' :
* 11h00, heure de la grille
* 19h00 UTC si l'heure de la grille est PST
* 18h00 UTC si elle est PDT,
* 19h00 heure française en été
* 20h00 heure française en hiver
* sur la région Dev Outreach de OSGrid : [https://www.osgrid.org/ osgrid.org]
= Viewers=
= Viewers=
== Quels sont les types MIME d'assets utilisés par le viewer ? ==
== Quels sont les types MIME d'assets utilisés par le viewer ? ==
* Vicent Sylvester  est  toujours à la recherche des  '''types mime''' utilisés par le viewer. Il serait content si quelqu'un les cherchait pour lui.
* Il est possible de les récupérer à partir de la réponse du '''CDN''' [https://fr.wikipedia.org/wiki/R%C3%A9seau_de_diffusion_de_contenu] de '''Second Life''', mais il n'a plus Second Life.
* [[Réunion_du_08-10-2024#Quels_sont_les_types_MIME_d'assets_utilisés_par_le_viewer_? | '''Sujet traité pendant la réunion du 08-10-2024''']]
= Source=
= Source=
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-10-22
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-10-22

Dernière version du 2 novembre 2024 à 16:46

Changements du code de la semaine

Bugs mineurs

Avertissement

Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉


Noyau

Remplacement de libgdiplus ?

Problème

  • libgdiplus fait parfois planter le programme construit avec cette bibliothèque en envoyant un message lié à GDI.
  • System.Drawing n'existe plus.
NDLR  :
  • System.Drawing est un espace de noms dans Dotnet qui fournit des classes pour la manipulation de graphiques, d'images et de polices.
  • libgdiplus permet aux applications Dotnet qui utilisent System.Drawing de dessiner et de manipuler des graphiques sur des plateformes où GDI+ (Graphics Device Interface Plus) de Microsoft n'est pas nativement disponible, comme par exemple sur GNU/Linux.


Solutions

  • Utilisation de la bibliothèque ImageSharp[1]. Elle offre de meilleures performances, mais l'intégrer signifie de réécrire les choses et c'est une dépendance de plus gérée par une entreprise extérieure.Vincent Sylvester ne sait pas vraiment comment la licence fonctionne.
  • Pour le moment il n'y a pas d'autres solutions qui ne nécessiterait pas de reconstruire complètement le rendu des textures à partir de la base. Il n'y a pas de remplacement direct.
NDLR  :

ImageSharp est une bibliothèque graphique 2D développée par SixLabors, multi-plateforme pour Dotnet.


Redémarrage des régions

Contexte Second Life

  • Second Life a ajouté une capability RegionSchedule qui permet le redémarrage d'une région.
  • Un panneau mobile (floater) a été ajouté pour configurer le redémarrage de la région. Dans le viewer ce panneau devrait apparaître uniquement dans la version Second Life.

Dans OpenSim

  • Dans OpenSim on ne peut qu'éteindre un simulateur, après quoi on a besoin d'une solution externe pour le redémarrer. La fonction « restart » a été supprimée il y a un certain temps, parce qu'elle n'a jamais fonctionné, donc maintenant, elle ne fait plus rien à part arrêter le simulateur.

Solutions

  • Cuga Rajal utilise des scripts shell] pour redémarrer un simulateur.
  • Ubit Umarov dit que certains propriétaires de simulation utilise des boucles while ] sur le script de démarrage .sh (shell). Ainsi, si la région meurt, elle redémarre automatiquement. Mais il faut tuer ce script si on veut vraiment tuer la région.
  • On peut utiliser Cron] pour plannifier une tâche qui redémarrerait un simulateur si son pid] manque.
  • Script sur le wiki officiel d'OpenSimulator : http://opensimulator.org/wiki/Startup_script_linux
  • Sur GNU/Linux il vaut mieux lancer OpenSim dans Screen ou Tmux.
  • Sur MacOS on utilise Screen.
  • Sous Windows, on peut configurer des tâches planifiées et des services pour cela.

Dotnet pour Ubuntu

Problème

  • Dotnet n'est pas proposé via les dépôts de Microsoft à partir d'Ubuntu 24.04. Microsoft s'attend à ce que les distributions fournissent et maintiennent Dotnet.
  • La version d'Ubuntu n'est plus à jour depuis des semaines ce qui pose problème.
  • Chaque fois qu'un correctif de sécurité est apporté, il faut maintenant demander à Canonical de le mettre à jour dans son dépôt.

Solutions

  • compiler Dotnet.
  • ou utiliser la version d'une autre distribution.
  • Sur Ubuntu 24.04 LTS on peut utiliser la version d'Ubuntu 22.04 (fournie par Windows), cela fonctionnera probablement.
  • Kayaker Magic dit que dotnet 8.0.200 ne fonctionne pas et qu'il a dû installer dotnet 8.0.108 en suivant les instrictions de Microsoft.

Informations complémentaires

Base de données

Tests en cours

  • Vincent Sylvester se prépare à tester les dernières versions ou les versions beta de MySQL, MariaDB, PostgreSQL et SQLite.
  • MySQL et MariaDB s'éloignent maintenant au point d'avoir leurs propres clients.

Modules

llDetectedLinkNumber avec BulletSim

Problème

  • Cuga Rajal aimerait corriger un vieux bug de BulletSim. llDetectedLinkNumber(integer x); fonctionne quand un objet lié n'est pas physique. Le nombre de lien retourné change quand l'objet devient physique, ce qui ne devrait pas se produire.

Réponses

  • Ubit Umarov suppose que BulletSim ne permet pas à LlDetectedLinkNumber de fonctionner car il perd les informations des primitives pour les collisions.
  • Avec BulletSim quand un objet devient physique il se transforme en quelque chose d'autre sans aucune mémoire de ce qu'il y avait avant.
  • Autres explications : un simple problème dans le code de copier coller ou la primitive à l'intérieur de la boîte de délimitation pourrait être ignorée. Cuja Rajal pense que c'est lié à l'utilisation exclusive de la racine pour le mouvement.

Pourquoi utiliser BulletSim à la place d'ubODE ?

Cugal Rajal répond :

  • BulletSim semble plus réaliste pour les véhicules, particulièrement pour les véhicules terrestres. Avec ubODE on ne peut pas aller au delà de 290 km/h (180 mph = 180 milles par heure). Avec BulletSim il est possible d'aller jusqu'à 644 km/h (400 Mph)
  • Certains objets physiques ne fonctionnaient pas bien avec ubODE[2].
  • BulletSim a un comportement plus proche de ce qui existe dans Second Life.
  • Cependant depuis quelques mois Cugal Rajal a appris à re-fractoriser les scripts pour qu'ils fonctionnent avec ubODE. De nombreuses forces/impulsions doivent être redéfinies. Dans certains cas il faut remplacer la racine d'un objet lié. Ainsi, il espère pouvoir passer définitivement de BulletSim à ubODE.
  • Donc, les deux moteurs physiques ont des avantages et des inconvénients.

Bilan

  • Vincent Sylvester propose à Cuga Rajal de définir si les différences entre BulletSim et ubODE sont des bogues ou des particularités des moteurs physiques puis, faire éventuellement une liste des choses à modifier/corriger dans ubODE. Il pense que ce serait bien d'avoir une liste des réserves, de limitations quelque part au cas où quelqu'un y serait confronté.
  • Ubit Umarov trouve que le ciel est bleu aujourd'hui. :)

JOpenSim

NDLR  :

Je n'ai pas trouvé le message sur le Forum de jOpenSim.


Bugs

Bogues dans ubODE ?

Situation

  • Web Rain signal qu'il y aurait un problème de sécurité lié au binaire dans ubODE, problème reporté par l'IA de gitHub.
  • cp de github lvl critical : Copie d'un projet sur GitHub avec un niveau de criticité élevé.
  • Unvalidated local pointer arithmetic : Arithmétique de pointeur local non validée.
NDLR  :

Cela signifie que les opérations d'arithmétique sur des pointeurs (c'est-à-dire les calculs qui manipulent les adresses mémoire) qui sont effectuées sur des pointeurs locaux n'ont pas été vérifiées ou validées.


  • Explication de Web Rain : Il est dangereux d'utiliser le résultat d'un appel de méthode virtuelle dans l'arithmétique des pointeurs sans validation si des utilisateurs externes peuvent fournir leur propre implémentation de la méthode virtuelle. Par exemple, si le projet analysé est distribué comme une bibliothèque ou un cadre, alors l'utilisateur final pourrait fournir une nouvelle implémentation qui renvoie n'importe quelle valeur.
  • Code concerné : OpenSim/Region/PhysicsModules/ubOdeMeshing/Meshmerizer.cs

Réponse

  • Ubit Umarov et Vincent Sylvester pensent que le problème signalé pourrait entraîner des erreurs de référence nulle ou de pointeur nul, au pire faire planter le simulateur mais, ils estiment que ce n'est pas quelque chose de critique, plutôt dans la catégorie ennuyeuse si on arrive à tomber dessus. Ils notent que le simulateur a tendance à planter pour des problèmes plus fréquents que celui-ci. Les pointeurs en langage C provoquent facilement des plantages.
  • Il faudrait quand même classer le bogue dans la Mantis en mode privé.
  • Mais, il faudrait quand même s'en préoccuper si cela peut causer un crash.

Scripts

Brève

  • Second Life a ajouté une fonctionnalité qui permet d'afficher les disténation de téléportation et d'autres informations par le biais d'un script

Informations

Systèmes d'exploitation des grilles

  • La plupart des grilles fonctionnent sur GNU/Linux, exemple : Wolf Terratories, Discovery Grid (qui fermera bientôt).
  • Quelques grilles fonctionnent sur Windows, exemple  : Utopia Skye.
NDLR  :
  • Argentoratum est sur serveur GNU/Linux


Heure d'hiver en Europe

Les changements d'heure

  • L'Union Eurpéenne passe à l'heure d'hiver le dimanche 27 octobre et recule d'une heure. À 3h00 du matin il sera 2h00.
  • Le changement d'heure en Amérique du Nord est prévu pour le dimanche 3 Novembre.
  • Voir Fuseaux horaires dans le lexique d'OSWiki

Horaire de la réunion des développeurs

Tous les mardis :

  • 11h00, heure de la grille
  • 19h00 UTC si l'heure de la grille est PST
  • 18h00 UTC si elle est PDT,
  • 19h00 heure française en été
  • 20h00 heure française en hiver
  • sur la région Dev Outreach de OSGrid : osgrid.org

Viewers

Quels sont les types MIME d'assets utilisés par le viewer ?

  • Vicent Sylvester est toujours à la recherche des types mime utilisés par le viewer. Il serait content si quelqu'un les cherchait pour lui.
  • Il est possible de les récupérer à partir de la réponse du CDN [3] de Second Life, mais il n'a plus Second Life.
  • Sujet traité pendant la réunion du 08-10-2024

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-10-22