Réunion du 08-10-2024

De OSWiki
Aller à la navigation Aller à la recherche

Changements du code de la semaine

Fuite de mémoire et plantage de script

  • Mantis 9166 : Fuite de mémoire entraînant le plantage du script par épuisement de la mémoire.
  • La déclaration d'état du script ne nettoyait pas la mémoire locale d'une méthode. Ce n'était pas une vraie fuite de mémoire, elle était libérée mais elle n'était pas comptabilisée.
  • La libération réelle de mémoire est effectuée par Garbage Collector (GC)[1].

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.😉


Modules

Module de profils

Question

  • Linden Lab a apporté des changements aux profils des viewers et aux annonces , la question est de savoir si cela affecte le module de profils d'OpenSimulator.

Réponses

  • Le module de base[2] ne semble pas poser de problèmes majeurs.
  • Il pourrait y avoir des problèmes avec les annonces des profils (NDRL : je n'ai pas bien compris).
  • Pas d'information au sujet du module de profil PHP[3][4]. Il faudrait l'essayer.

Informations

OSCC 2024

Appel à propositions

Lyr Lobo nous informe à propos de la conférence 2024

  • Lien du site : https://conference.opensimulator.org/call-for-proposals/
  • OSCC est un événement communautaire et un moyen de présenter ce que vous aimez le mieux.
  • Ubit Umarov fait des miracles pour mettre à jour la grille de la conférence 2024.
  • Si vous avez une idée après le 21 octobre, ne soyez pas timide, partagez-la. La date a été fixée sachant que certains seront en retard.

Types de propositions attendues

  • les propositions pour des conférences Spotlight de 20 minutes,
  • des événements sur votre grille la semaine après la conférence,
  • des ateliers dans Zoom qui seront organisés la semaine après la conférence,
  • Des sessions de discussion peuvent être organisées pour aborder les problèmes de code du viewer et du serveur, ainsi que les idées et besoins pour le développement futur.

Viewers

Dayturn

  • Nouveau code et mises à jour tous les jours. Il y a un gros retard à rattraper et beaucoup de corrections de bugs à fusionner.

Firestorm

  • Ubit Umarov a signalé un bug sur JIRA[5] de Firestorm.
  • FIRE-34618 : Les frais des annonces des profils sont devenus problématiques pour OpenSim.
  • Plusieurs commits de Linden Lab ont cassé les frais de annonces pour OpenSim, forçant un coût codé en dur, directement intégré dans le code du programme. Ainsi, le coût est fixe et ne peut pas être facilement modifié sans modifier le code source.
  • Dans les commentaires du signalement de bug (voir JIRA) on peut voir qu'Ansariel Hiller a corrigé le problème en supprimant les frais codés en dur dans Firestorm.
  • Gavin Hird dit que Linden Lab a codé en dur plusieurs constantes dans le viewer de Second Life ces derniers temps.
  • Ubit Umarov dit que c'est leur code et qu'ils font ce qu'ils veulent tant qu'ils ne cassent pas celui d'OpenSim.

Sharpview

Peut-on bloquer les pub dans le navigateur intégré au viewer ?

  • Le navigateur du viewer est Chromium, mais on ne peut pas installer de plugins.
NDLR  :
  • Chromium[6] est un navigateur web libre développé par l’organisation Chromium Project créée par Google en 2008.
  • Chromium Embedded Framework (CEF)[7] : est un logiciel libre permettant d'intégrer un navigateur web Chromium dans une autre application. Cela permet aux développeurs d'ajouter des fonctionnalités de navigation web à leur application.


Est-il possible de supprimer le navigateur web du viewer ?

  • Non on ne peut pas supprimer le navigateur web.
  • Les MOAP[8], la recherche web et certains onglets du profil utilisent le navigateur web. Chaque MOAP est un processus Chromium séparé et beaucoup de pages web ne reconnaissent pas ce navigateur.
  • En dehors de la recherche web, les autres onglets de la recherche utilisent XML-RPC[9].
  • Le surcoût lié à l'exécution d'un navigateur web dans le viewer est énorme.
  • Certains intervenants, comme Vincent Sylvester, semblent dire que, dans le futur, il n'y aura plus que des pages web dans le viewer. D'autres pensent le contraire, mais personne ne sait vraiment ce que l'avenir nous réserve.
  • Il faudrait utiliser WebKit[10]: bibliothèque logicielle libre permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels.

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

Le problème

  • Vicent Sylvester aimerait connaître les Types de médias (types MIME) d'assets attendus par le viewer. Il en connaît déjà quelques uns comme celui des textures mais, il aimerait connaître ceux des paramètres d'environnement et ceux des matériaux. Ce n'est pas documenté. Il demande que des volontaires fassent cette recherche pour lui. Joe Magarac a aussi besoin de le savoir.
NDLR  :
  • Liste des types d'assets [11]


Types MIME du viewer

Types MIME connus

  • Texture : 0 => 'image/jp2'
  • Son : 1 => 'application/ogg',
  • Carte de visite : 2 => 'application/x-metaverse-callingcard',
  • Repère: 3 => 'application/x-metaverse-landmark',
  • Vêtements : 5 => « application/x-metaverse-clothing »,
  • Objet : 6 => 'application/x-metaverse-primitive',
  • Notecard : 7 => 'application/x-metaverse-notecard'
  • Mesh : 49 => 'application/vnd.ll.mesh'

Types MIME incertains

  • Paramètres d'environnement  : 56 => 'application/vnd.ll.setting'
  • Matériaux (PBR) : 57 => 'application/vnd.ll.material'
  • Certains éléments PBR sont distingués par leur type MIME.

Localisation dans le code

Fichiers du viewer

//// HTTP Content Types ////

extern const std::string HTTP_CONTENT_LLSD_XML;
extern const std::string HTTP_CONTENT_OCTET_STREAM;
extern const std::string HTTP_CONTENT_VND_LL_MESH;
extern const std::string HTTP_CONTENT_XML;
extern const std::string HTTP_CONTENT_JSON;
extern const std::string HTTP_CONTENT_TEXT_HTML;
extern const std::string HTTP_CONTENT_TEXT_HTML_UTF8;
extern const std::string HTTP_CONTENT_TEXT_PLAIN_UTF8;
extern const std::string HTTP_CONTENT_TEXT_LLSD;
extern const std::string HTTP_CONTENT_TEXT_XML;
extern const std::string HTTP_CONTENT_TEXT_LSL;
extern const std::string HTTP_CONTENT_TEXT_PLAIN;
extern const std::string HTTP_CONTENT_IMAGE_X_J2C;
extern const std::string HTTP_CONTENT_IMAGE_J2C;
extern const std::string HTTP_CONTENT_IMAGE_JPEG;
extern const std::string HTTP_CONTENT_IMAGE_PNG;
extern const std::string HTTP_CONTENT_IMAGE_BMP;
  • Vincent Sylvester en déduit que :
  • Paramètres d'environnement  : 56 => 'application/ll-xml'
  • Matériaux (PBR) : 57 => 'application/ll-xml'

Code OpenSimulator

  • Il y aurait des infomations dans SLUtil.cs. C'est correct pour OpenSimulator mais en réalité c'est faux, cela pourrait être gtff json.
new TypeMapping(AssetType.Material, InventoryType.Material, « application/llsd xml », « glftmat »)

Utilité réelle des types MIME

  • D'après Ubit Umarov les Type MIME ne sont utilisés nulle part. Les types MIME ne sont pas nécessaires pour accéder aux assets sur un CDN [12] car chaque asset a une URL spécifique qui est indépendante de son type MIME.
  • Vincent Sylvester est d'accord mais il signale tout de même qu'il est prévu que le code du viewer évolue bientôt vers l'utilisation de types stricts et qu'il serait bon de s'y préparer.
  • 🏗️

Source

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