View Bug Report
C stack overflow OnNameplateShow/SetNameTextRegion
Bug #: 6284
File: Aloft
Date: 12-10-09 01:30 PM
By: talchas
Status: Awaiting Feedback
I have not been able to narrow down to just having Aloft loaded, however looking at the stack trace and the code, it looks like there is a possible loop without others and they are just making it easier by adding lag.

It looks to me that this occurs when a nameplate gets loaded when the unit still has the name "Unknown". Adding
Code:
    if text == L["Unknown"] then
        return
    end
at the beginning of Aloft:SetNameTextRegionText seems to break the cycle and fix the bug, although I don't know if thats the best solution.

The stack trace:
Code:
Date: 2009-12-10 14:27:49
ID: 1
Error occured in: Global
Count: 1
Message: ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua line 275:
   C stack overflow
Debug:
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:299: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   ...
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:860:
      Aloft\Aloft\Aloft.lua:848
   (tail call): ?
   ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:350:
      ...terface\AddOns\Aloft\AloftNameText\AloftNameText.lua:341
   [C]: ?
   ...face\AddOns\Aloft\Libs\AceEvent-2.0\AceEvent-2.0.lua:298: TriggerEvent()
   Aloft\Aloft\Aloft.lua:815: OnNameplateShow()
   Aloft\Aloft\Aloft.lua:878:
      Aloft\Aloft\Aloft.lua:873
   (tail call): ?
AddOns:
  Swatter, v3.1.14 (<%codename%>)
  ACP, v3.2.0.26 
  Aloft, v2.8.12
  Bartender4, v4.4.2
  Examiner, v09.05.24
  ItemRack, v
  Omen, v3.0.7
  OPie, v
  Prat30, vr395 
  Prat30Libraries, v
  BlizRuntimeLib_enUS v3.3.0.30300 <us>
  (ck=e5)

RSS 2.0 Feed for Bug CommentsNotes Sort Options
By: acapela - 12-13-09 04:27 PM
i have never been able to reproduce these issues with "Unknown" units.

my WoW client simply leaves units invisible (nameplates, 3D models, everything is just not there) until the unit is fully initialized. when it does appear, all data is present (unit name, level, health, etc).

anyway, yes, please insert the check into Aloft:SetNameTextRegionText(), as you suggest, and help me test it. i have inserted the same into my development copy. i will also study the stack trace you posted, and see if i can determine how this recursive loop is starting. i encountered a problem like this in development for WoW 3.3, but i believed i had it fixed. apparently my inability to test for "Unknown" units allowed a defect to creep in.

i will get a new release of Aloft out once i have had a chance to do some analysis (and hopefully improve the code).

thanks for reporting this.