GRIS-UdeM / SpatGRIS

Sound spatialization tool
GNU General Public License v3.0
59 stars 5 forks source link

V202, Crash majeur, incompatibilité VBAP-LBAP et ServerGRIS.xml #140

Closed Normandeau closed 4 years ago

Normandeau commented 5 years ago

Version 202 J'ai eu un crash majeur après l'installation de la version 202. Ce qui a mis en lumière la nécessité de mettre des directives pour un désinstalleur manuel (ou automatique) du ServerGRIS. Car chez moi, rien ne fonctionnait plus, ni installation, ni désinstallation. J'ai envoyé un Crash Report à Olivier et la liste des fichiers que j'ai jeté manuellement avant d'être capable de réinstaller à nouveau le ServerGRIS. Cela étant dit, je n'avais pas identifié la cause originelle du crash, et je viens de le faire.

• J'ai fabriqué un speaker setup en LBAP, un cube superbe (!!!) constitué de 24 hp. Après avoir réinstallé la version 202, j'ai rouvert mon Cube. Mais le ServerGRIS est en mode VBAP par défaut, et l'ouverture d'un speaker setup LBAP le fait crasher systématiquement. • De plus, si j'ouvre le speaker setup LBAP et qu'en suite je passe en mode VBAP, cela fait aussi crasher le server. • L'inverse ne semble pas être vrai: un speaker setup VBAP s'ouvre sans problème en mode LBAP (avec une déformation de l'emplacement des hp qui me reste à comprendre...). On peut aussi passer facilement du mode VBAP au mode LBAP, sans problème.

Il faudrait confirmer cela, car si c'est le cas, c'est un problème majeur. On ne sait pas la nature d'un speaker setup — VBAP ou LBAP — par le format de fichier et à moins de compter sur des utilisateurs très méticuleux (et je puis garantir que cela n'existe pas) qui nommeraient attentivement leur speaker setup, ce genre de crash va arriver systématiquement. Il faut qu'on puisse soit passer d'un mode à l'autre sans problème, soit avec un système d'avertissement. Donc pour tester:

Puis:

Normandeau commented 5 years ago

V202 Après avoir simplement mis l'ordi en veille pour la nuit dernière (après une bonne journée d'activité...), ServerGRIS ne s'ouvre tout simplement pas aujourd'hui. C'est difficile à documenter car cela n'est jamais arrivé à ce jour... Après avoir désinstallé Jack avec le script, et jeté manuellement ServerGRIS et les documents suivants, j'ai pu réinstallé le tout. L'icône est toujours abîmée sur le Finder, mais correcte dans le Dock (me semble que ça devrait un signe de qqchose...): servergris202 icone defectueuse

ServerGRIS Manual Uninstall: Preferences: ~/Library/Preferences/com.UdeM.GRIS.ServerGRIS.plist Cache: ~/Library/Caches/com.UdeM.GRIS.ServerGRIS Support Library ~/Application Support/GRIS/ServerGRIS.xml

Normandeau commented 5 years ago

V202 Le fichier défectueux semble être celui qui réside dans le dossier GRIS des Application Support: ServerGRIS.xml Après avoir les tests d'aujourd'hui, je me suis retrouvé avec le même problème: ServerGRIS ne voulait plus s'ouvrir. J'ai jeté respectivement: Preferences: ~/Library/Preferences/com.UdeM.GRIS.ServerGRIS.plist Cache: ~/Library/Caches/com.UdeM.GRIS.ServerGRIS Support Library ~/Application Support/GRIS/ServerGRIS.xml Les deux premiers n'ont rien changé à l'affaire, mais après avoir mis le 3e à la corbeille, ServerGRIS s'est ouvert à nouveau. On s'approche...

Normandeau commented 5 years ago

V202 Les documents sur le Mac peuvent être représentés sous 4 formes: d'icônes, de liste, de colonnes ou de Cover Flow. L'icône du ServerGRIS est abîmée seulement dans les Liste ou les Colonnes. Elle s'affiche correctement en mode Icône et Cover Flow.

NicolaGiannini commented 5 years ago

J'ai fait le test et je n'ai pas eu le même résultat. Pas de crash dans cette ordre, mais j'ai toujours un crash en quittant le ServerGris si je suis en modalité LBAP. Cela se passe avec chaque speaker configuration (lbap et vbap). Pas de icône abimée de mon côté.

Normandeau commented 5 years ago

L'icône abimé du ServerGRIS ne se manifeste que lorsqu'une la petite taille des icônes est sélectionnée.

belangeo commented 5 years ago

Pour l'icône, il faut probablement juste refaire le .icns avec une version pour la plus petite taille... Pour le crash, peux-tu m'envoyer le setup qui fait planter? Je n'arrive pas à créer un setup fautif...

led78 commented 5 years ago

V.2.0.2 Je ne l'ai pas mentionné explicitement dans l'issue #151 , mais de mon côté je n'ai pas expérimenté de problème avec le changement de mode au sens exprimé ici (issue #140). C'est-à-dire que je peux passer du mode VBAP à LBAP et vice versa, autant avec une configuration d'hp faite en LBAP qu'en VBAP, sans que le ServerGRIS ne plante. Pour l'exercice, j'ai testé avec le même speaker setup LBAP que dans #151 et, pour le VBAP, celui de l'hexa fourni dans les templates (GRISpeaker Dome16Subs2UdeM.xml).

Normandeau commented 5 years ago

Voici ma configuration hp, un cube de 24 hp avec 2 subs: GRISpeaker CubeLBAP24Subs2.xml.zip

Normandeau commented 5 years ago

Nicola Si j'ouvre Servergris, il est en mode VBAP, et il charge automatiquement le dernier Speaker Setup. Si je change d'algorithme de VBAP à LBAP et je ferme le logiciel, après la fermeture, ça crash. Passages : Ouvrir Servergris
Changer de VBAP à LBAP
Fermer ServerGris
Valider Crash Ceci se produit si le Speaker Setup automatiquement chargé a été créé soit en VBAP ou en LBAP.

Olivier Je n'arrive pas à reproduire ce crash... Peux-tu joindre le rapport de crash?

Nicola Voir # 152

Olivier Ça crash dans lbap_field_compute... Peux-tu joindre le speaker setup?

Nicola le rapport que j'ai envoyé a été fait avec GRISpeaker LBAP test4.xml. Mais cela m'arrive avec n'importe quelle Speaker Setup. J'ajoute par exemple GRISpeaker OctophonicSubs2.xml que j'ai utilisé maintenant pour créer un autre crash. GRISpeaker LBAP test4.xml.zip GRISpeaker OctophonicSubs2.xml.zip

Olivier J'arrive pas à reproduire le crash sous linux... Je vais tester sous OSX en début de semaine prochaine.

NicolaGiannini commented 5 years ago

Bonjour, j’ai fait des autres test. J’ai utilisé toujours les mêmes passages :

Ouvrir Servergris 
Changer de VBAP à LBAP 
Fermer ServerGris 
Crash

Ceci se produit si le buffer size est à 64 ou 32. À partir de 128 ne se produit pas. Ceci se produit avec les suivants Speaker Setup GRISpeaker test vbap.xml.zip Créé en VBAP

GRISpeaker LBAP test4.xml.zip créé en LBAP

Il ne se produit pas avec

GRISpeaker OctophonicSubs2.xml.zip

belangeo commented 5 years ago

Voici ma configuration hp, un cube de 24 hp avec 2 subs: GRISpeaker CubeLBAP24Subs2.xml.zip

Dans ce cas de figure, vbap est incapable de créer le moindre triplet, ce qui est très problématique! Quand ça arrive, un message s'affiche et le "default speaker setup" est rechargé.

Nicola: Ceci se produit si le buffer size est à 64 ou 32. À partir de 128 ne se produit pas.

C'est réglé.

Normandeau commented 5 years ago

V2.03 La première chose que j'ai testé c'est l'incompatibilité entre les documents créés dans les modes VBAP et LBAP. Je m'y suis pris de mal de manières différentes, et je n'ai pas réussi à crasher ServerGRIS. C'est une bonne nouvelle.

Par contre je me perds en conjectures sur le messade d'avertissement qui se produit lorsqu'on veut ouvrir un document sauvé et/ou créé selon un algorithme ou l'autre. En fait je n'obtiens ce message qu'avec un seul et unique document: capture d ecran 2019-02-05 a 09 17 48

Tous mes autres documents qu'ils aient été créés sous VBAP ou LBAP que j'essaie d'ouvrir dans un mode ou dans l'autre s'ouvre sans problème. Et je peux ensuite les faire passer de VBAP à LBAP ou vice versa sans problème. C'est bien. Mais ça soulève la question: pourquoi certains documents lancent le message d'alerte alors que la plupart ne le font pas? Question corollaire (peut-être): un même setup de hp prend environ 25% de CPU ouvert en VBAP en comparaison de son ouverture en LBAP et parfois dans des proportions encore plus grandes. Normal? J'ai fait plusieurs tests, Inputs: 64 partout:

1) Setup VBAP 32 (B187) (créé avec la version 1.04) 16% en VBAP, de 88 à 105% en LBAP Si le ServerGRIS est en mode LBAP, ce Speaker Setup s'ouvre en LBAP, alors qu'il a été fabriqué en VBAP. 2) Setup LBAP 32 (créé et ouvert avec la version 2.03) 9 % en VBAP, 33% en LBAP Si le ServerGRIS est en mode VBAP, ce Speaker Setup s'ouvre en VBAP, alors qu'il a été fabriqué en LBAP. 3) Setup VBAP 54 (créé avec la version 1.04) 30% en VBAP, 106% en LBAP Si le ServerGRIS est en mode LBAP, ce Speaker Setup s'ouvre en LBAP, alors qu'il a été fabriqué en VBAP. 4) Setup LBAP 54 (créé et ouvert avec la version 2.03) 13% en VBAP, LBAP 40% Si le ServerGRIS est en mode VBAP, ce Speaker Setup s'ouvre en VBAP, alors qu'il a été fabriqué en LBAP. 5) Setup VBAP 64 (créé avec la version 1.04) 15% en VBAP, 50% Si le ServerGRIS est en mode LBAP, ce Speaker Setup s'ouvre en LBAP, alors qu'il a été fabriqué en VBAP. 6) Setup LBAP 64 Cylindre (créé et ouvert avec la version 2.03) 15% en VBAP, 45% en LBAP Si le ServerGRIS est en mode VBAP, ce Speaker Setup s'ouvre en VBAP, alors qu'il a été fabriqué en LBAP 7) Setup VBAP 24 (créé avec la version 1.04) 7% VBAP, de 28 à 41% LBAP Si le ServerGRIS est en mode LBAP, ce Speaker Setup s'ouvre en LBAP, alors qu'il a été fabriqué en VBAP. 8) Setup LBAP 24 Cube (créé avec la version 2.02 et ouvert avec la version 2.03) Pas possible en VBAP (message d'erreur), 32% en LBAP Si le ServerGRIS est en mode VBAP, ce Speaker Setup ne s'ouvre pas, il a été fabriqué en LBAP en 2.02

Comme on peut le voir, le seul fichier LBAP que je ne peux ouvrir en VBAP a été créé avec la version 2.02. Un nouveau setup créé dans 2.03, passe d'un mode à l'autre sans problème et même les fichiers VBAP de la version 1.04 s'ouvre sans problème dans la version 2.03. Mais la consommation de CPU est tout de même pas mal plus importante, inutilisable même dans certains cas. Cette consommation affichée varie d'ailleurs d'une fois à l'autre, avec le même setup, en LBAP tout au moins.

Donc, en résumé, dans la version 2.03, on peut ouvrir n'importe quel speaker setup qu'on soit en mode VBAP ou LBAP, et qu'il ait été fabriqué dans un mode ou L'autre. Bien. Mais est-ce OK? Je ne le crois pas. Personnellement, je pense qu'il faudrait une information dans la programmation d'un speaker qui dise au Server de quelle manière il a été fabriqué. Et que le Server s'ajuste automatiquement au mode de fabrication à l'ouverture d'un setup.

belangeo commented 5 years ago

De ce que j'ai remarqué, le seul type de speaker setup qui fait vraiment planter VBAP est un setup où il y a seulement deux étages de HPs (2 niveaux d'élévation). Dans ce cas particulier, il n'arrive pas à créer un seul triplet! Les autres setup sont moins problématique, probablement que les triplets ne sont pas bons mais ça ne fait pas planter l'algorithme!

En effet, présentement, dans le speaker setup, il n''y a pas l'info à savoir dans quel mode le setup à été créé. Quand on ouvre un setup, le Server reste dans le mode où il se trouve. Si on veut que le Server s'adapte, il faut ajouter une propriété au fichier xml du speaker setup. Pas très difficile à faire, c'est un go?

Je vais voir si c'est possible de diminuer un peu la consommation CPU du LBAP. C'est l'ajout des spans qui à fait grimper son coût en temps de calcul...

Xon77 commented 5 years ago

Server V2.03 / Mac 10.14.3 :

De ce que j'ai remarqué pour l'instant, le Speaker Setup, transmis par Robert ci-dessous, fait automatiquement cracher le serveur s'il est en mode VBAP ou dès qu'on change de VBAP à LBAP (OK si le serveur est déjà en LBAP). GRISpeaker CubeLBAP24Subs2.xml.zip

belangeo commented 5 years ago

Christophe, certain d'utiliser la version 2.0.3 ? Si oui, peux-tu m'envoyer le rapport de crash ? Il doit y avoir quelque chose de nouveau avec OSX 10.14...

Normandeau commented 5 years ago

Le Speaker Setup dont Christophe parle est celui qui est incompatible entre LBAP et VBAP qui, comme tu l'as expliqué n'est composé que de deux couches de HP, soit un cube parfait. Il ne fait plus crasher ServerGRIS, mais il génère le message d'avertissement. Il est vrai que Christophe est le seul en 10.14 pour le moment. Les autres: pourriez-vous confirmer cela?

NicolaGiannini commented 5 years ago

ServerGris 2.03 OS 10.13.6

Voilà mon cube en LBAP de deux étages : GRISpeaker CubeLBAP24Nicola.xml.zip

Si j’ouvre GRISpeaker envoyé par Christope CubeLBAP24Subs2.xml.zip en VBAP j’obtiens le message d'avertissement : “Not a valid VBAP 3-d Configuration!”

NicolaGiannini commented 5 years ago

Quatre tests

cube de 1 étage en LBAP ne produit pas le message ServerGRIS LBAP 4 cube 1etage.xml.zip

cube de 2 étages en LBAP produit le message ServerGRIS LBAP 8 cube 2etages.xml.zip

cube de 3 étages en LBAP ne produit pas le message

ServerGRIS LBAP 12 cube 3etages .xml.zip

cube de 4 étages en LBAP ne produit pas le message

ServerGRIS LBAP 16 cube 4etages.xml.zip

J'obtiens le même comportement, à la fois si j'ouvre le set LBAP en mode VBAP et si j'essaie de passer de LBAP à VBAP.

Xon77 commented 5 years ago

@belangeo en effet, la version 2.0.3 ne s'était pas bien installée... donc je n'observe plus de crash, avec la version 2.0.3.

Donc, comme le dit @NicolaGiannini, cette version à 2 étages, aussi bien celle de @Normandeau ci-dessous que de @NicolaGiannini génère un message d'avertissement (si je suis en VBAP ou passe du LBAP au VBAP) : “Not a valid VBAP 3-d Configuration!” et charge le speaker setup par défaut. GRISpeaker CubeLBAP24Subs2.xml.zip

NicolaGiannini commented 5 years ago

Le message se produit si le set up est crée en LBAP avec 2 HP (2 minimum) qui sont à 90 dégrées en elevation

Tests:

2 hp à 90° avec un étage de HP aussi à 0° = Le message d'avertissement se produit GRISpeaker 2-90.xml.zip

2hp à 90° et 1hp à 80° = Le message d'avertissement se produit elevation 2 90 1 80.xml.zip

1hp à 90° et 2HP à 80° = = Le message d'avertissement ne se produit pas. elevation 2 80 1 90.xml.zip

Comme suggéré par Christophe, j'ai également essayé 2hp à 90° et 1hp à 0° = Le message d'avertissement se produit elevation 2 90 1 0.xml.zip

Normandeau commented 5 years ago

V203 Olivier: «Si on veut que le Server s'adapte, il faut ajouter une propriété au fichier xml du speaker setup. Pas très difficile à faire, c'est un go?» Oui.

Normandeau commented 5 years ago

V203 Olivier: «Je vais voir si c'est possible de diminuer un peu la consommation CPU du LBAP. C'est l'ajout des spans qui à fait grimper son coût en temps de calcul...» Il faudrait d'abord tester des configurations exigeantes, afin de voir si la consommation en CPU est problématique en utilisation réelle. Beta tester, à vos tests.

belangeo commented 5 years ago

Le speaker setup enregistre maintenant le mode de spatialisation. À l'ouverture, si l'attribut n'existe pas (ancien setup), le serveur assume le mode VBAP.

Normandeau commented 5 years ago

V205. Avec la version 2.0.5, on peut passer de VBAP à LBAP, mais Binaural n'est jamais disponible. Dès qu'on le sélectionne, on revient automatiquement à VBAP qu'on soit sur un Speaker Setup VBAP ou LBAP à l'origine.

Précision: La première chose à faire est de construire un nouveau Speaker Setup LBAP (ce que je n'avais pas fait dans mon premier message). Seul celui-ci sera marqué du sceau LBAP. Donc quand on l'ouvre, le ServerGRIS, passe effectivement en mode LBAP, même si on était au départ sur le mode VBAP (comportement normal). Il est donc préférable d'ouvrir nos configurations LBAP réalisées avant la version 205, de les éditer et de les sauvegarder de nouveau, pour éviter toute confusion.

Binaural n'est pas disponible (depuis la version 204), mais quand on est dans un nouveau setup LBAP, il se passe quelque chose de joli:

Et si j'essaie d'ouvrir mon merveilleux CUBE LBAP de 24 hp à 2 niveaux, c'est impossible maintenant (même en partant du mode LBAP).

La bonne nouvelle, c'est que si je fabrique un nouveau setup à 2 niveaux avec le 205, celui-ci s'ouvre ensuite sans problème. Donc probablement que seuls les setups à 2 niveaux antérieurs à la version 205 sont complètement incompatibles. Peut-être à valider si vous en avez sous la main.

NicolaGiannini commented 5 years ago

V205 Salut à tous si je construis un set up à 2 étages en LBAP avec la version 2.05 il se ouvre directement en LBAP, je confirme.

ServerGRIS LBAP 8cube 2etages205.xml.zip

De mon côte pour ce qui concerne les Speaker Setup faits avec la 2.03 j’ai ce comportement, je ne suis pas si cela aide.

Avec la version 2.05 si j'essaie d'ouvrir un set up avec 2HP à 90° en evelation il ne arrive pas l’ouvrir.

elevation 2 90 1 80.xml.zip

Avec la version 2.05 si j'essaie d'ouvrir un set up avec 1HP à 90° en evelation il arrive l’ouvrir, avant en VBAP et il faut le mettre en LBAP après.

elevation 2 80 1 90.xml.zip

belangeo commented 5 years ago

Vous pouvez modifier manuellement un setup LBAP créée avant la version 2.0.4 pour qu'il s'ouvre en mode LBAP. Dans le fichier xml, ajouter l'attribut SpatMode="1" comme ceci:

SpeakerSetup Name="FrontWall_speaker_setup.xml" Dimension="3" SpatMode="1"

Normandeau commented 5 years ago

«Comme ceci:» Puis il n'y a plus rien: est-ce que je manque quelque chose?

led78 commented 5 years ago

Ou tout simplement ouvrir le Speaker setup en question et le sauvegarder de nouveau après avoir changer le mode de spatialisation à LBAP.

belangeo commented 5 years ago

J'ai modifié mon commentaire... Les symboles plus petit et plus grand au début et à la fin de la ligne faisaient en sorte que la ligne était cachée...