Pawn add on lua errors without it being installed?

Hey, I installed Pawn in the past and decided I didn’t want it anymore so I removed it, but now I’m getting thousands of lua errors from the add on… and it’s completely wiped from my files. I used an add on manager to remove it, and I even went through the game files and made sure every trace of it was removed, but I’m still getting lua errors referencing Pawn.
I’ve moved out my cache, interface, and WTF folders out, logged in to get a fresh interface, then added everything back, and I’m still getting the errors. I’d really prefer to not start everything from scratch if I could help it, so if anyone else has any ideas, you’d be my favorite person.

21300x [string "return function() local UPGRADE_BONUSES = {"]:129: attempt to index field '?' (a nil value)
[string "return function() local UPGRADE_BONUSES = {"]:129: in function <[string "return function() local UPGRADE_BONUSES = {"]:79>
[string "return function() local UPGRADE_BONUSES = {"]:159: in function <[string "return function() local UPGRADE_BONUSES = {"]:158>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:162: in function <SharedXML/Tooltip/TooltipDataHandler.lua:157>
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:182: in function <SharedXML/Tooltip/TooltipDataHandler.lua:178>
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:218: in function <SharedXML/Tooltip/TooltipDataHandler.lua:208>
[string "=[C]"]: in function `SetAttribute'
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:243: in function <SharedXML/Tooltip/TooltipDataHandler.lua:236>
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:389: in function <SharedXML/Tooltip/TooltipDataHandler.lua:339>
[string "=[C]"]: in function `securecallfunction'
[string "@SharedXML/Tooltip/TooltipDataHandler.lua"]:336: in function <SharedXML/Tooltip/TooltipDataHandler.lua:335>
[string "=(tail call)"]: ?
[string "@Pawn/Pawn.lua"]:2102: in function `PawnGetStatsFromTooltipWithMethod'
[string "@Pawn/Pawn.lua"]:1344: in function `PawnGetItemData'
[string "@Pawn/Pawn.lua"]:1584: in function `PawnGetItemDataForInventorySlot'
[string "@Pawn/Pawn.lua"]:3776: in function `PawnCheckInventoryForUpgrades'
[string "@Pawn/Pawn.lua"]:4070: in function <Pawn/Pawn.lua:4062>
[string "@Pawn/VgerCore/VgerCore.lua"]:353: in function `PawnOnInventoryChanged'
[string "@Pawn/Pawn.lua"]:127: in function `PawnOnEvent'
[string "*PawnUI.xml:1653_OnEvent"]:1: in function <[string "*PawnUI.xml:1653_OnEvent"]:1>

Locals:
tooltip = PawnPrivateTooltip1 {
 0 = <userdata>
 SetQuestPartyProgress = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetAzeriteEssenceSlot = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 ProcessLineData = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:410
 SetItemInteractionItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 hasMoney = 1
 shownMoneyFrames = 1
 SetPvpTalent = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetRuneforgeResultItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 HasDataInstanceID = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:514
 SetUnit = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetAzeriteEssence = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 numMoneyFrames = 1
 SetTotem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetVoidWithdrawalItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 processingInfo = <table> {
 }
 infoList = <table> {
 }
 StatusBar = PawnPrivateTooltip1StatusBar {
 }
 SetInfoBackdropStyle = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:492
 SetBuybackItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 GetPrimaryTooltipData = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:499
 SetSocketGem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 TextRight1 = PawnPrivateTooltip1TextRight1 {
 }
 SetEnhancedConduit = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 RefreshData = <function> defined @FrameXML/GameTooltip.lua:1055
 SetLootCurrency = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetSlottedKeystone = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetWorldCursor = <function> defined @FrameXML/GameTooltip.lua:1074
 SetLootItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetPetAction = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 GetSpell = <function> defined @FrameXML/GameTooltip.lua:1112
 SetOwnedItemByID = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetItemKey = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetQuestLogSpecialItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 supportsDataRefresh = true
 SetEquipmentSet = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetRecipeReagentItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetQuestCurrency = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetTransmogrifyItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetWeeklyReward = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetMerchantItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetPvpBrawl = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 GetUnit = <function> defined @FrameXML/GameTooltip.lua:1116
 BottomOverlay = Texture {
 }
 SetSpellByID = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 OnLoad = <function> defined @FrameXML/GameTooltip.lua:1049
 SetSocketedRelic = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 ProcessInfo = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:335
 ProcessLines = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:400
 NineSlice = Frame {
 }
 SetInventoryItem = <function> defined @SharedXML/Tooltip/TooltipDataHandler.lua:539
 SetTalent = <function> defined @SharedXML/Tooltip/TooltipDataHand

Each version of the game client (Vanilla, WotLK, DF) and their PTRs have a seperate addons folder just for it. Possible your downloader installed the addon into every versions folder and you have only removed it from one.

Retail (DF) = WoW\_retail_\Interface\AddOns\...
Vanilla = WoW\_classic_era_\Interface\AddOns\...
WoTLK = WoW\_classic_\Interface\AddOns\...

The error would also indicate you have an old version of Pawn installed.

1 Like

Checked on this already just in case. There are no remnants of Pawn in any files for retail, classic, ptr, etc.

Just not possible with the posted error trace.

Try starting the launcher and selecting the game version giving the error.

Click the Options button (gear wheel beside the Play button) and select Show In Explorer. Open that folder then Interface/AddOns and see if there’s a Pawn folder under that.

And just checking, the error is one that occurrs each time you play, not a historical error from a previous session?

1 Like

This is why I’m so perplexed myself, lol. I’m under the same impression.
For the sake of trying, I did what you said exactly how you told me to, even though I’ve done it before, and I do not see any Pawn folders.
For good measure, I did that for every version of the game, and there are no Pawn folders in their add on folders either. I even searched “pawn” in file explorer and turned up with zero results.

Yes it is a current string of errors that pops up on a session by session basis, double checked this for good measure as well.
Strangely enough, these errors only pop up on a specific character, I can’t seem to replicate the errors on alts, but they show up every time I load in my main within 30 seconds. I’ve tried using the same add on load out on different characters, and it still only happens on my main for some reason.

If you login an type /pawn do you get the pawn UI frame?

When you login, you could try
/run PawnUIFrame:UnregisterAllEvents()

As that’s where the error seems to be originating but both of those things working means the addon is installed.

Also, in Explorer make you have the View/Show/Show Hidden Items turned on just in case you’ve managed to set the Pawn folder’s Hidden attribute.

Out of curiosity, if you go to the AddOn button in the bottomleft of the character select screen (not the in-game one from the esc game menu), is Pawn showing up?

It should not list all if it was removed from all versions of Interface/AddOns. But if it is showing up then it still exists somewhere.

Just to repeat, this is not when you log in to a character and then check; but BEFORE you log into a character where addons can’t touch stuff.

When I do this I get the standard “Type ‘/help’ for a listing of a few commands” message in chat.

When I put this in, nothing happens, but bugsack gives me the following error:

3x [string "PawnUIFrame:UnregisterAllEvents()"]:1: attempt to index global 'PawnUIFrame' (a nil value)
[string "PawnUIFrame:UnregisterAllEvents()"]:1: in main chunk
[string "=[C]"]: in function `RunScript'
[string "@FrameXML/ChatFrame.lua"]:2204: in function `?'
[string "@FrameXML/ChatFrame.lua"]:5281: in function <FrameXML/ChatFrame.lua:5227>
[string "=[C]"]: ?
[string "=[C]"]: in function `ChatEdit_ParseText'
[string "@FrameXML/ChatFrame.lua"]:4938: in function <FrameXML/ChatFrame.lua:4937>
[string "=[C]"]: in function `ChatEdit_SendText'
[string "@FrameXML/ChatFrame.lua"]:4974: in function `ChatEdit_OnEnterPressed'
[string "*ChatFrame.xml:141_OnEnterPressed"]:1: in function <[string "*ChatFrame.xml:141_OnEnterPressed"]:1>

Locals:
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'PawnUIFrame' (a nil value)"

Afterwards I reloaded my UI and I’m still getting the same Pawn related error messages.

After doing this I’m still unable to locate any files related to Pawn in the interface folders of all versions of the game.

It is not, no.

It would seem the frame that called the function that started the error in your OP doesn’t exist.
You could /run print(PawnOnEvent) and if that doesn’t exist, I would suggest you double check you’re getting the same error as in your OP because that function existed then?

Assuming you’re still getting the error and not just looking at historical errors in BugSack/BugGrabber (alt-click on the minimap/broker icon to clear them).

If you’re on Windows, grab Notepad++ (TextMate if you’re on Mac)

Do a Find in Files search (CTRL-SHIFT-F) for UPGRADE_BONUSES
On your WoW directory [make sure it’s the one referenced from wherever you launch the game].
Filter it against *.lua files and make sure In all sub-folders is enabled (might want to enable hidden folders in this instance too).

When using that command it comes up with “nil”. I’ll double check that it’s the same error when I’m able to log back in later.

Tried this just now. The only search results that come up are saved variables from BugGrabber, and from a line of code for a weakaura that shows crest upgrade ilvls on the tooltips, and seems to be unrelated to Pawn.

Redid the search but searched directly for “Pawn” with “Match whole word only” checked, found Pawn listed in an “ACP.lua” file in the coding. The .lua file is in

\World of Warcraft_retail_\WTF\Account\USERNAME\SavedVariables\ACP.lua

At this point I’m out of my scope of knowledge. Could this be the issue, and if so, is there a safe way to fix it?

That file is the saved variables for the Addon Control Panel addon. Its highly unlikely to be causing the issue.

The only probable place for it to be causing an error from inside the WTF folder would be in a WeakAuara.

I’d recommend clearing your BugSack/Grabber saved errors. Sounds like these might simply be legacy errors from a time when you had Pawn installed.

You could also try installing Pawn and see what happens.

If it’s nil then it’s unlikely that “Pawn” is causing the latest error as it’s not possible to report an error in a function that doesn’t exists. At best it would report an attempt to call a function that that doesn’t exist.