Projekt

Allgemein

Profil

Aktionen

Fehler #38391

offen

[WoW API] GetRaidRosterInfo gibt nil/null Werte zurück

Von Krabbenchips vor fast 4 Jahren hinzugefügt. Vor etwa 3 Jahren aktualisiert.

Status:
Neu
Priorität:
Normal
Zugewiesen an:
Kategorie:
-
Zielversion:
-
Beginn:
25.06.2020
Update Text Deutsch:

Beschreibung

In vielen beliebten Addons (Grid2, DBMCore, Chatter...) wird der WoW API Befehl GetRaidRosterInfo benutzt, ohne dass die zurück gegebenen Werte auf null/nil überprüft werden. Da es in den finalen Versionen so beliebter Addons vorkommt, gehe ich davon aus dass die WoW API auf dem Offi schlicht niemals nil als Rückgabe Wert hatte. In Chatter wird beispielsweise nur auf einen leeren String überprüft, anstatt auf nil.
Die zurückgegebenen Werte werden oft direkt als Array Index oder in String Funtionen benutzt, wodurch natürlich eine Lua Fehlermeldung geworfen wird wenn der Wert nil ist. Bei Grid2 wird somit für jedes Raidmitglied eine Lua Fehlermeldung geworfen was natürlich Performance einbußen haben kann. Viele Leute bekommen das zwar nicht mit, da Lua Fehlermeldungen ingame standardmäßig deaktiviert sind, aber ich denke es wäre vorteilhaft für alle, wenn man das ändern könnte und leere Strings statt nil zurück gegeben werden. Auch der zurückgegebene Name ist manchmal nil. Ob das etwas mit dem "Unbekannt Bug" zutun hat, weiß ich nicht.


Zugehörige Tickets

Beziehung mit RG Live WotLK 3.3.5a - Fehler #30351: GetGuildRosterInfo gibt u.U. NULL zurück → ClientCrashLive26.03.2018Aktionen
Aktionen #1

Von Jeora vor fast 4 Jahren aktualisiert

  • Zugewiesen an wurde auf Left4Info gesetzt
Aktionen #2

Von Jeora vor fast 4 Jahren aktualisiert

  • Beziehung mit Fehler #30351: GetGuildRosterInfo gibt u.U. NULL zurück → ClientCrash wurde hinzugefügt
Aktionen #3

Von Mat2095 vor mehr als 3 Jahren aktualisiert

Bei Grid2 kann ich das so nicht ganz bestätigen. LUA-Fehlermeldungen hab ich da noch nicht gesehen, aber es kommt öfter vor, dass dadurch einzelne Spieler nicht angezeigt werden.
DBM erzeugt durch diesen Bug aber öfter Fehlermeldungen.

Laut https://wow.gamepedia.com/API_GetRaidRosterInfo gibt die Funktion nil zurück, wenn der Index ungültig ist. Allerdings hatte ich auch schon den Fehler für Indizes, die zumindestens nicht offensichtlich ungültig waren.

Bei mir tritt das am ehesten nach reloads auf (z.B. nach einem wipe in icc...; neulich wurde während ich geladen habe ein anderes Schlachtzugsmitglied ausgewechselt, danach kam der Fehler; oder ich porte mich nach einem AK-run nach Dalaran, und während ich lade verlässt ein Schlachtzugsmitglied den Raid; vielleicht kann man das so reproduzieren, bei mir ist das schon recht häufig).
Der (wohl verwandte) Fehler bzgl GetGuildRosterInfo wurde kürzlich behoben, den Fix kann man wohl nicht einfach übernehmen? ^^

Aktionen #4

Von Mat2095 vor etwa 3 Jahren aktualisiert

Bei mir tritt das insbesondere in BGs häufig auf, dabei sind mir noch 2 Sachen aufgefallen:
- wenn sich was am Schlachtzug ändert, scannt DBM einmal den kompletten Raid; der Fehler trat bei mir nur auf, wenn ein Spieler gerade hinzugekommen ist, aber nie wenn ein Spieler den Raid verlassen hat
- der problematische Index ist dabei immer genau der vorletzte

Aktionen

Auch abrufbar als: Atom PDF