« Réunion du 22-10-2024 » : différence entre les versions
Aller à la navigation
Aller à la recherche
(20 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 26 : | Ligne 26 : | ||
=== Contexte Second Life=== | === Contexte Second Life=== | ||
* Second Life a ajouté une '''[[Lexique_des_réunions#CAPS | capability]] RegionSchedule''' qui permet le redémarrage d'une région. | * 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 | * '''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 === | ||
* '''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. | * '''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= | ||
Ligne 53 : | 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 = | ||
== | == 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 = | = Scripts = |
Dernière version du 2 novembre 2024 à 16:46
Changements du code de la semaine
Bugs mineurs
- Commit 453725 : suppression d'ancien code erroné
- Commit 3f70e4 : Correction de LogOutgoingDetail, limite de longueur de sortie
- Commit 1ba925 et Commit 350613 : Correction d'erreurs de frappe.
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 :
|
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
- Page de publication des mises à jour de dotnet 8
- Même sujet développé pendant la réunion du 15-10-2024
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
- Le propriétaire de Zone Nations a publié sur le forum de jOpenSim un prototype d'une version modifiée de JOpenSimPaypal avec le support de BTCPay. Ce travail concerne jOpenSim 5 pour Joomla! 5.
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 :
|
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