PitBull Unit Frames 4.0

1050 - Blank Player Unit Frame/Lua Texts Error

What steps will reproduce the problem?
1. Logging on
2.
3.

What is the expected output? What do you see instead?
The expected is to see my character unit frame, what I see is a completely blank unit frame.

What version of the product are you using?
Latest Curse Version

Do you have an error log of what happened?
Date: 2013-09-11 10:14:49
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\PitBull4_LuaTexts\LuaTexts.lua line 886:
   Usage: PitBull4_FontString_6:SetFont("font", fontHeight [, flags])
Debug:
   [C]: SetFont()
   PitBull4_LuaTexts\LuaTexts.lua:886
      PitBull4_LuaTexts\LuaTexts.lua:839
   PitBull4_LuaTexts\LuaTexts.lua:1429 AddFontString()
   ...ddOns\PitBull4\ModuleHandling\TextProviderModule.lua:118 UpdateFrame()
   PitBull4\ModuleHandling\Module.lua:319 Update()
   PitBull4\UnitFrame.lua:808 Update()
   PitBull4\UnitFrame.lua:728 RecheckConfigMode()
   PitBull4\Options\ConfigMode.lua:58 RecheckConfigMode()
   PitBull4\Main.lua:1347 OnProfileChanged()
   PitBull4\Main.lua:1412
      PitBull4\Main.lua:1382
   (tail call): ?
   [C]: ?
   [string "safecall Dispatcher[1]"]:9:
      [string "safecall Dispatcher[1]"]:5
   (tail call): ?
   Ace3\AceAddon-3.0\AceAddon-3.0.lua:558 EnableAddon()
   Ace3\AceAddon-3.0\AceAddon-3.0.lua:651
      Ace3\AceAddon-3.0\AceAddon-3.0.lua:636
   [C]: LoadAddOn()
   ..\FrameXML\UIParent.lua:303 UIParentLoadAddOn()
   ..\FrameXML\UIParent.lua:377 TimeManager_LoadUI()
   ..\FrameXML\UIParent.lua:737
      ..\FrameXML\UIParent.lua:702
Locals:
None

Please provide any additional information below.

Name Description Size MD5
PitBull4.lua Requested Attachement 2.0 MiB bf5ee1a4976d...
LuaTexts.lua Errored LuaTexts file 48.8 KiB 67cc6a1ebd8f...
  • WoWScrnShot_091113_101845.jpg
    Blank Player Unit Frame
  • WoWScrnShot_091113_124741.jpg
    Error is with Player not Target
  • WoWScrnShot_091113_130345.jpg
    After selecting "Party" from ...
  • WoWScrnShot_091113_130457.jpg
    After selecting "Party" from ...
  • WoWScrnShot_091513_192727.jpg
    Segoe UI (Name/Class) Player, ...
User When Change
Shefki Sep 30, 2013 at 16:30 UTC Changed status from New to Fixed
BillieJackFu Sep 16, 2013 at 02:28 UTC

Added attachment WoWScrnShot_091513_192727.jpg

BillieJackFu Sep 11, 2013 at 20:05 UTC

Added attachment WoWScrnShot_091113_130457.jpg

BillieJackFu Sep 11, 2013 at 20:04 UTC

Added attachment WoWScrnShot_091113_130345.jpg

BillieJackFu Sep 11, 2013 at 19:48 UTC

Added attachment WoWScrnShot_091113_124741.jpg

BillieJackFu Sep 11, 2013 at 19:45 UTC

Added attachment LuaTexts.lua

BillieJackFu Sep 11, 2013 at 19:44 UTC

Added attachment PitBull4.lua

BillieJackFu Sep 11, 2013 at 17:19 UTC

Added attachment WoWScrnShot_091113_101845.jpg

BillieJackFu Sep 11, 2013 at 17:18 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Shefki Shefki Sep 30, 2013 at 04:05 UTC - 0 likes

    I believe the most recent push should fix the problem for everyone. Someone opened ticket 1055 with a reproduction recipe that worked for me. As I suspected it is a race condition (font provided by another addon is not available as far as the game engine is concerned but is available according to SharedMedia). When we set that font on the FontStrings it accepts it with no error, but when we later try to ask what the font is on the font string it gives us nil, which we then try to pass off to the SetFont. We use this GetFont() to preserve the font and size when we're only changing the 3rd parameter (the flags, e.g. outline, thick outline).

    My fix resolves this by caching the font and size and using them instead when the font provided by GetFont is nil.

    For what it's worth I've had fairly rare complaints about this problem for years. But could never replicate it. I'd guess this behavior of GetFont has always existed, but it simply didn't happen very often because WoW was almost always seeing the font as loaded before SharedMedia registered it. Something in 5.4 changed that, possibly some optimization that tries to make things load faster. Since the game only looks for files in the Interface folders the first time it loads, the problem doesn't reoccur on reloads or subsequent logins.

  • Avatar of BillieJackFu BillieJackFu Sep 23, 2013 at 12:08 UTC - 0 likes

    Just to update.

    I haven't installed the latest Alpha, but the issue doesn't present itself on load for me anymore. I'm actually thinking that another Ace module was the culprit, but can't narrow it down as I have been clearing my error logs.

    The only error I'm receiving is when I join a party or raid and someone in the party/raid is flagged for PvP, I get an error on Lua.Text:PvPTimer but it goes away on its own.

    Thanks for all your work on resolving the issue Shefki.

  • Avatar of Shefki Shefki Sep 22, 2013 at 19:38 UTC - 0 likes

    Give beta47-9 a try. I have a theory about what's going on and that has a very specific workaround for the issue. If it works then it should solve the problem for LuaTexts and DogTagTexts.

  • Avatar of Tarmac Tarmac Sep 17, 2013 at 13:14 UTC - 0 likes

    Hi

    Latest alpha is showing frame properly now and is populating a lua error also as you predicted.

    A /reload straight after initial load is completely fine for me then (I know this works for some people).

    1x PitBull4_LuaTexts:Normal:Lua:Power caused the following error when calling SetFont(nil,2.6031158770146e-030,nil):
    Usage: PitBull4_FontString_7:SetFont("font", fontHeight [, flags])
    PitBull4_LuaTexts-v4.0.0-beta47-7-g82a3dda\LuaTexts.lua:843: in function <PitBull4_LuaTexts\LuaTexts.lua:838>
    PitBull4_LuaTexts-v4.0.0-beta47-7-g82a3dda\LuaTexts.lua:902: in function <PitBull4_LuaTexts\LuaTexts.lua:856>
    PitBull4_LuaTexts-v4.0.0-beta47-7-g82a3dda\LuaTexts.lua:1445: in function "AddFontString"
    PitBull4-v4.0.0-beta47-7-g82a3dda\ModuleHandling\TextProviderModule.lua:118: in function "UpdateFrame"
    PitBull4-v4.0.0-beta47-7-g82a3dda\ModuleHandling\Module.lua:319: in function "Update"
    PitBull4-v4.0.0-beta47-7-g82a3dda\UnitFrame.lua:810: in function "Update"
    PitBull4-v4.0.0-beta47-7-g82a3dda\UnitFrame.lua:728: in function "RecheckConfigMode"
    PitBull4-v4.0.0-beta47-7-g82a3dda\Options\ConfigMode.lua:58: in function "RecheckConfigMode"
    PitBull4-v4.0.0-beta47-7-g82a3dda\Main.lua:1347: in function "OnProfileChanged"
    PitBull4-v4.0.0-beta47-7-g82a3dda\Main.lua:1412: in function <PitBull4\Main.lua:1382>
    (tail call): ?
    <in C code>
    <string>:"safecall Dispatcher[1]":9: in function <string>:"safecall Dispatcher[1]":5
    (tail call): ?
    AffDots-v1.3.3\Libs\AceAddon-3.0\AceAddon-3.0-12.lua:558: in function "EnableAddon"
    AffDots-v1.3.3\Libs\AceAddon-3.0\AceAddon-3.0-12.lua:651: in function <AffDots\Libs\AceAddon-3.0\AceAddon-3.0.lua:636>
    <in C code>
    FrameXML\UIParent.lua:303: in function "UIParentLoadAddOn"
    FrameXML\UIParent.lua:326: in function "CombatLog_LoadUI"
    FrameXML\UIParent.lua:739: in function <FrameXML\UIParent.lua:702>
    
    Locals:
    nil
    
    Last edited Sep 17, 2013 by Tarmac
  • Avatar of Crackadamus Crackadamus Sep 16, 2013 at 05:50 UTC - 0 likes

    <<reply 1777879>>

    Shefki,

    Understood. Thanks again for all the uploads today.

    Dat addon.

  • Avatar of Shefki Shefki Sep 16, 2013 at 05:45 UTC - 0 likes

    @Crackadamus: Go

    The latest alpha should work right from the start (you'll just see some errors if you have Lua Errors turned on), at least it does for me when I deliberately create the error.

    The Monk thing should be a new ticket.

  • Avatar of Shefki Shefki Sep 16, 2013 at 05:39 UTC - 0 likes

    @BillieJackFu: Go

    Probably because those frames are created and updated on load, other frames don't have anything to display until after you load in.

  • Avatar of BillieJackFu BillieJackFu Sep 16, 2013 at 05:33 UTC - 0 likes

    @Shefki: Go

    My only issue is why is it only throwing errors on Player Unit Frame and Pet Unit Frame, if it was an error handler it would throw errors on Target / Target of Target Unit Frames too.

  • Avatar of Crackadamus Crackadamus Sep 16, 2013 at 05:31 UTC - 0 likes

    <<reply 1777855>>

    Yeah, I got a LUA error on initial load-in, but after a /reload everything appears to be normal.

    [off topic]

    As well, Shefki, I know this isn't the appropriate place and for that you have my apologies, but if it's all the same to you I was wondering if I can make a small request about the monk class.

    Like the druid, the mana bar will disappear and reappear when you change stances. But, when the Monk is in his healing stance, he can still do melee attacks but the power bar is no longer visible. Would it be at all possible to make Pitbull show the Monk's power bar while in healing stance?

    Thanks for all the work you've done with Pitbull, by the way. As I've already mentioned this has been my favorite unit frame addon for as long as I can remember.

    Lastly, regarding the above if you wanted me to make a ticket of some kind for the request, by all means please let me know.[/off topic]

    Thanks again!

    Last edited Sep 16, 2013 by Crackadamus: Screenshots now include names of stances
    • WoWScrnShot_091513_223319.jpg
      Healing Stance w/ No Power Bar
    • WoWScrnShot_091513_224303.jpg
      Melee Stance w/ Power/Mana Bars
  • Avatar of Shefki Shefki Sep 16, 2013 at 05:20 UTC - 0 likes

    @Crackadamus: Go

    So the reason the protection code I added a few pushes ago wasn't working was that Blizzard's error handler apparently throws an error itself when called so early in the loading process.

    I think if you guys try now you'll have some initial errors on load in but everything should work normally besides that.

Facts

Last updated
Sep 30, 2013
Reported
Sep 11, 2013
Status
Fixed - Developer made requested changes. QA should verify.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0
Component
LuaTexts

Reported by

Possible assignees