Réunion du 03-05-2022

De OSWiki
Aller à la navigation Aller à la recherche

Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-05-03

Introduction

[11:02] Kayaker Magic : Le voilà !

[11:03] Andrew Hellershanks : Bonjour, tout le monde.

Problème de script : Rezzeur

[11:03] Kayaker Magic : J'ai un problème aujourd'hui : Quelqu'un sait-il ce qui peut causer ce message d'erreur sur la console opensim ?

[11:03] Kayaker Magic: 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago.

[11:04] Kayaker Magic : J'ai un script qui peut verrouiller une région et qui provoque ce message une minute plus tard. TOUT LE TEMPS

[11:04] Ubit Umarov : le lit est très bon et le cœur bat en s'endormant.

[11:05] Kayaker Magic : Mais j'essaie de faire une version plus petite du script, et l'erreur ne se produit pas. Du moins pas encore...

[11:05] Ubit Umarov : les scripts peuvent provoquer ça, mais c'est difficile à dire.

[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : Tu viens de répondre à ta propre question

[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : Habituellement, les scripts chargés ou mal écrits consomment une tonne de mémoire.

[11:06] Kayaker Magic : Le script fonctionnait parfaitement sur les anciennes versions d'OpenSim. L'erreur a commencé avec les versions récentes.

[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cependant, cela fonctionne

[11:06] Kayaker Magic : Non, ce script n'est pas mauvais. Il a bien fonctionné pendant des années.

[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Indices de défaillance potentielle de la file d'attente de mise à jour des scènes dans long terme.

[11:07] Kayaker Magic : Les tests sont difficiles, chaque test nécessite généralement de redémarrer ou d'attendre 2 minutes pour que la région récupère.

[11:08] Andrew Hellershanks : Oui, vous retirez des éléments d'un script jusqu'à ce que les erreurs cessent. La dernière chose retirée était la cause de l'erreur.

[11:08] Andrew Hellershanks: :)

[11:08] Ubit Umarov : selby, tu es coincé ?

[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il n'est pas nécessaire que ce soit un seul script, la charge globale est également un facteur et le type d'opérations effectuées par ces scripts.

[11:09] Andrew Hellershanks : Kayaker, le script utilise-t-il un timer ? Si oui, est-ce qu'il en fait trop dans le timer handler ?

[11:09] Kayaker Magic : A moins qu'il s'agisse d'une condition de concurrence, alors enlever quelque chose sans rapport change suffisamment le timing pour changer le résultat.

[11:09] Kayaker Magic : Le script est complètement piloté par les évènements, il a un timer qui tourne à 0.5 secondes.

[11:10] Kayaker Magic : En fait il y a deux scripts, un rezzeur et la chose qu'il rezze. J'envisage une condition de concurrence sur la façon dont les deux communiquent, mais je ne peux pas encore le vérifier.

[11:10] Selby.Evans @grid.kitely.com:8002 : Je suppose que oui, mais corrigé

[11:11] Ubit Umarov : ok

[11:11] Andrew Hellershanks : Kayaker, est-ce que c'est ton propre rezzeur ou l'un de ceux que l'on trouve facilement ?

[11:11] Ubit Umarov : kayker nous ne pouvons pas deviner ces choses.

[11:11] Andrew Hellershanks : J'ai utilisé Builder's Buddy et je n'ai pas eu de problème avec lui.

[11:12] Ubit Umarov : je cherche seulement à écrire du code, trouver des relations potentielles et les tester.

[11:12] Ubit Umarov : bien sûr, rezzer une prim est une opération lourde...

[11:12] Ubit Umarov: 1000 od them a bit worse..

[11:12] Ubit Umarov: :p

[11:13] Kayaker Magic : Mon propre rezzer.

[11:13] Ubit Umarov : et rezzer n'est pas une opération multithread.

[11:13] Andrew Hellershanks : Kayaker, as-tu vérifié les statistiques de la région quand elle émet l'erreur pour voir si elle montre un nombre élevé de LPS ou un nombre faible de FPS ?

[11:13] Kayaker Magic : J'espère seulement avoir des suggestions sur ce qui peut causer le blocage maintenant alors que ça n'est pas arrivé dans le dernier Yeti que j'ai compilé.

[11:13] Andrew Hellershanks : Bonjour, Michael.

[11:13] Michael.Christopher @cc.opensimulator.org:8002: hello

[11:13] Ubit Umarov : cela arrêtera les autres threads pendant la transformation des données partagées.

[11:14] Ubit Umarov : mais, comme je l'ai dit, nous ne pouvons que deviner.

[11:16] Kayaker Magic : Oui, je vais continuer à essayer de trouver un moyen simple de répéter le problème. Mais soyez avertis : Il y a un moyen de planter Yeti qui n'existait pas avant. Je ne peux plus utiliser les versions récentes sur mes régions de peur que d'autres choses déclenchent cela.

Changements dans le code cette semaine

Moteurs physiques ubODE et ODE

[11:15] Ubit Umarov : bien sur les changements de code de la semaine dernière.

[11:16] Ubit Umarov : j'ai fait en sorte que ubode utilise ses propres copies des bibliothèques non administrées.

[11:16] Andrew Hellershanks : J'ai vu principalement des changements de type nettoyage de code mais il y avait deux commits référençant des rapports mantis.

[11:16] Ubit Umarov : donc l'ancien module ode peut rester inchangé.

[11:16] Ubit Umarov : donc maintenant ubode utilise ubode.dll et l'ancienne ode utilise ode.dll.

[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, il y avait quelques petits bogues amusants qui nous avaient échappé, tout est résolu maintenant, mais étant donné les changements apportés à la physique, il se peut qu'il y en ait un ou deux de plus à mesure que les gens testent les choses.

[11:17] Ubit Umarov : cela sur Windows, similaire pour les autres systèmes d'exploitation.

[11:18] Ubit Umarov : puis j'ai mis à jour ubode avec le code que j'avais ici et qui prend la poussière depuis des années maintenant.

[11:18] Andrew Hellershanks: Je reviens tout de suite

[11:18] Ubit Umarov : et d'autres que j'ai fait récemment.

[11:18] Ubit Umarov : la plupart du temps c'est la même chose, j'essaie d'économiser du cpu ici et là.

[11:18] Ubit Umarov : en fait, ODE est un code assez mauvais.

[11:19] Ubit Umarov : comme si c'était une série de différentes bibliothèques, toutes collées d'une manière ou d'une autre.

[11:19] Ubit Umarov : le problème typique est que chacun a sa propre conception de ce qu'est une rotation.

[11:20] Ubit Umarov : et il y a des tonnes de code pour convertir et copier entre ces différentes versions.

[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce ne sont pas tous des quaternions ?

[11:20] Ubit Umarov : bien sûr que non !

[11:20] Ubit Umarov : les quaternions sont en fait incorrects.

[11:20] Michael.Christopher @cc.opensimulator.org:8002 : oh ?

[11:21] Ubit Umarov : tous utilisent des matrices pour les rotations.

[11:21] Michael.Christopher @cc.opensimulator.org:8002 : cela a attiré mon attention lol. quelle est la meilleure façon ?

[11:21] Ubit Umarov : vous pouvez comprendre cela si je vous dis que pour faire une rotation avec un quaternion vous aurez toujours besoin de connaître la matrice correspondante.

[11:22] Ubit Umarov : donc, réellement, tout le monde utilise les matrices dans les moteurs de bas niveau.

[11:23] Ubit Umarov : le quaternion a le seul avantage de l'espace... avec 4 float contre 9 pour la matrice correspondante.

[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Différence dans le traitement requis pour eux ?

[11:24] Ubit Umarov : ils ne s'adaptent pas non plus aux instructions SIMD moder.

[11:24] Ubit Umarov : l'utilisation de SIMD sur eux peut être beaucoup plus lente.

[11:24] Ubit Umarov : bien SIMD a été conçu en vue d'utiliser des matrices.

[11:25] Ubit Umarov : la plupart au moins.

[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : La conversion de valeurs à virgule flottante et l'application de certaines opérations pour faire rentrer 9 dans 4 ne semble pas non plus très efficace.

[11:26] Ubit Umarov : vous pouvez voir le code de libomv par exemple.

[11:26] Ubit Umarov : comme je l'ai dit pour multiplier un vecteur par un quaternion, le code de base va récupérer la matrice puis faire la multiplication de la matrice.

[11:27] Ubit Umarov : sur la matrice vous pouvez aussi extraire plus d'information directement

[11:27] Ubit Umarov : comme l'axe associé à la rotation... blabla

[11:27] Ubit Umarov : une rotation peut aussi être une opération de taille.

[11:28] Ubit Umarov : donc seul un petit nombre de code pas très rapide utilise le quaternion comme représentation de la rotation.

[11:28] Ubit Umarov : ou comme stockage inchangé sur le long terme, bien sûr.

[11:29] Andrew Hellershanks : Je suis de retour.

[11:29] Ubit Umarov : même, avec un quaternion, une rotation c'est juste 3 floats.

[11:29] Michael.Christopher @cc.opensimulator.org:8002: Bon retour

[11:29] Ubit Umarov : parce qu'un quat doit être normalisé... ce qui veut dire que le 4ème float est 1 - Somme des carrés des autres.

[11:29] Ubit Umarov : LLUDP utilise cela

[11:30] Ubit Umarov : les lindens étaient des codeurs intelligents à l'époque.

[11:30] Ubit Umarov : ce n'était pas ce code très peu performant qu'ils font aujourd'hui.

[11:30] Ubit Umarov : bon, c'est une autre histoire.

Refus d'utiliser une capacité

[11:31] Ubit Umarov : j'ai aussi refusé de soutenir l'utilisation d'une autre cap de viewer.

[11:31] Ubit Umarov : Rye ou Beq l'ont mentionné.

[11:32] Ubit Umarov : il s'agissait juste de passer de lludp très compact et rapide à http lent en utilisant un encodage de type xml.

[11:32] Ubit Umarov : cela correspond à 10 octets d'information dans environ 200 octets.

[11:32] Ubit Umarov: ( in that case a lot more ) [11:33] Ubit Umarov: so.. code changes... [11:33] Ubit Umarov: it is possible ubode now has new issues, ofc [11:33] Ubit Umarov: nad very hard to debug [11:33] Ubit Umarov: usually we only get BUMMMMM region died [11:33] Ubit Umarov: kind of reports :P [11:34] Ubit Umarov: in windows case a BSOD is also possible :) [11:34] Michael.Christopher @cc.opensimulator.org:8002: :)) [11:34] Ubit Umarov: the last one i got was testing ode.dll changes [11:34] Ubit Umarov: :) [11:34] Michael.Christopher @cc.opensimulator.org:8002: ouch [11:35] Ubit Umarov: another changes where a few recent bug fixes [11:35] Ubit Umarov: changed some user por uuid parse by tryparse [11:35] Ubit Umarov: because parse now does stop with a error, like guid does. [11:36] Ubit Umarov: in past it did not, just did return uuid.zero, like tryparse does [11:36] Ubit Umarov: same on int, vector3 and bool parse [11:37] Ubit Umarov: ofc made a silly bug on that, found by vicent and now also fixed [11:37] Ubit Umarov: the avatars new jump code also had a small issue [11:37] Ubit Umarov: jumps on top of a mesh prim where a lot shorter than on top of a normal prim or terrain [11:38] Ubit Umarov: added some work aroudn on that.. they look similar again [11:38] Ubit Umarov: issue is how collision is detected... [11:39] Ubit Umarov: on a simulation look, a avatar collsion with any prim returns at most 2 collisions [11:39] Ubit Umarov: with a mesh can returrn like 80... [11:40] Ubit Umarov: hte overall IsColliding basicly counts collisions [11:40] Ubit Umarov: so.. well bad :) [11:40] Ubit Umarov: should be better now [11:40] Ubit Umarov: but other area of code tha tneeds revision [11:41] Ubit Umarov: still old ode code structure.. [11:41] Ubit Umarov: sadly not the best.. but still there [11:41] Ubit Umarov: i had also broken sits :p [11:42] Ubit Umarov: in same cases, depending on timing, the sit rotation could be lost due to a delayed update sent by viewers [11:42] Ubit Umarov: still with a standing rotation... [11:43] Ubit Umarov: that delayed one is again ignored... [11:44] Ubit Umarov: hope you all see others sitting right here now :) [11:44] Selby.Evans @grid.kitely.com:8002: I do [11:45] Ubit Umarov: wel was a bit random, but we coudl see wrong rotations as i told [11:46] Ubit Umarov: typical opensim... 1 improvement 2 new bugs [11:46] Ubit Umarov: oops :p [11:46] Michael.Christopher @cc.opensimulator.org:8002: lol [11:46] Ubit Umarov: ( still looking for the second bug on that :P ) [11:47] Ubit Umarov: about ubode unmaged code, i can only compile for win32, 64 and linux64 [11:47] Ubit Umarov: not mac or linux32 [11:48] Ubit Umarov: good news is that gavin told he will complie for mac in next few days [11:48] Ubit Umarov: as i did many times in past [11:48] Ubit Umarov: i mean as HE did.. [11:48] Ubit Umarov: :) [11:48] Michael.Christopher @cc.opensimulator.org:8002: ok good lol i was trying to think of a way to safely offer to use ours  :)) [11:49] Ubit Umarov: so mac users will also get the happy BSODs [11:49] Ubit Umarov: ( not sure if also blue on mac ) [11:51] Ubit Umarov: so what news do you have? [11:52] Michael.Christopher @cc.opensimulator.org:8002: done with the patent filing and supposed to have a database specialist on the way over to try ti figure out where we should start [11:52] Andrew Hellershanks: Hearing that Gavin is still working on the code is good news. [11:52] Andrew Hellershanks: Michael, what patent filing? [11:53] Michael.Christopher @cc.opensimulator.org:8002: reality integration layer [11:53] Ubit Umarov: Well and speaking of Gavin, there is a new pre-release Firestorm [11:53] Ubit Umarov: oops lol :) [11:53] Andrew Hellershanks: :) [11:53] Ubit Umarov: that includes now LL code with inventory validation [11:54] Ubit Umarov: seems some people is getting errors on that and can't use the viewer [11:54] Ubit Umarov: i have no idea still [11:54] Ubit Umarov: but that "validation" is ofc acording to current lindens idea of what a inventory should be [11:54] Ubit Umarov: would not be suprised if the also had fails at SL [11:55] Ubit Umarov: but sadly many to be expected here, with the old inventories some ppl have [11:55] Kayaker Magic: The new FS beta solves a problem with Vivox that Kitely was having with HG TPs. [11:55] Ubit Umarov: ahh the loop thing? [11:56] Kayaker Magic: I hear Vivox was hanging up on an HG TP [11:56] Ubit Umarov: seem a commi tby Beq fixing that [11:56] Ubit Umarov: seems the viewer was placed on a never ending loop :) [11:57] Kayaker Magic: Right. That has been fixed! [11:57] Michael.Christopher @cc.opensimulator.org:8002: Opensim was the original inspiration, but "the same solution" should be usable in most to all virtual environments. It's a question of use case for each company how they would best use it (end users should benefit from our platform but not have to pay for it) [11:57] Ubit Umarov: well the rebakes 2 seconds or so afatasr arrival on a region also now gone [11:58] Ubit Umarov: i did spoke about that fix on another meeting [11:58] Ubit Umarov: me rye and beq [11:59] Selby.Evans @grid.kitely.com:8002: must go -- bye all [11:59] Ubit Umarov: and the bad extra "!" [11:59] Michael.Christopher @cc.opensimulator.org:8002: bye selby! [12:00] Andrew Hellershanks: Bye, Selby [12:00] Andrew Hellershanks: Another hour has gone by. Any last minute items for today? [12:00] Michael.Christopher @cc.opensimulator.org:8002: not here [12:01] Kayaker Magic: Not from me! [12:01] Andrew Hellershanks: ok. I don't see anyone else typing so I will take that as a no from the others. [12:01] Andrew Hellershanks: Thank you all for coming. See you again next week. [12:01] Michael.Christopher @cc.opensimulator.org:8002: have a great week everyone!