View Single Post
09-13-13, 04:25 PM   #7
Belechannas
A Warpwood Thunder Caller
Join Date: May 2010
Posts: 86
An update, but not a very happy one, I'm afraid.

I've spent hours trying to get to the bottom of this.

It does not appear to be related to pulldown menus. I've disabled them, and the variables that can be corrupted by pull down menus are not tainted.

I have gone through and removed dozens of instances in nUI where variables weren't declared local when they should have. No change.

Another issue which has caused mysterious taint errors in the past is corruption of the lua global variable "_" (underscore). Not tainted.

I have disabled nUI's management of tooltips, the minimap, and the battlefield minimap InfoPanel plugin (all of which were causing taint to non-nUI globals). Didn't fix the problem either.

The StaticPopup dialog boxes have caused a number of taint problems in the past. They too do not seem to be tainted.

After removing every logged source of taint I could find, my Taint.log file shows only two variables that are tainted that don't have "nUI" somewhere in the name. Those are

MOVING_CHAT_FRAME, and

BINDING_KEYS_CLICK

The first is used to move the chat windows and combat log around to where nUI wants them, and the second is used to handle key bindings. Disabling these would screw the addon up badly enough that it didn't really seem worth trying.

I could not find any changes in the Blizzard interface code that would account for the changed behavior, either. The error happens on a call to a C-routine.

Since there are cases where things get tainted without being logged, I also wrote a script to scan through the entire global namespace (_G) and report any non-tabular variables that were tainted and did not have "nui" (case-insensitive) in the name.

Apart from the two above, there were a few taints here:

Code:
9/13 15:10:12.609  Silmara says: EventTraceFrameEvent_DisplayTooltip
9/13 15:10:12.609  Silmara says: FrameStackTooltip_OnUpdate
9/13 15:10:12.609  Silmara says: EventTraceFrame_OnMouseWheel
9/13 15:10:12.609  Silmara says: ScriptErrorsFrame_DeleteError
9/13 15:10:12.609  Silmara says: FrameStackTooltip_Toggle
9/13 15:10:12.609  Silmara says: EventTraceFrame_RemoveEvent
9/13 15:10:12.609  Silmara says: DEBUGLOCALS_LEVEL
9/13 15:10:12.609  Silmara says: EventTraceFrame_OnShow
9/13 15:10:12.609  Silmara says: ScriptErrorsFrame_Update
9/13 15:10:12.609  Silmara says: EventTraceFrame_OnSizeChanged
9/13 15:10:12.609  Silmara says: EventTraceFrame_Update
9/13 15:10:12.625  Silmara says: EVENT_TRACE_EVENT_HEIGHT
9/13 15:10:12.625  Silmara says: EventTraceFrame_HandleSlashCmd
9/13 15:10:12.625  Silmara says: ScriptErrorsFrame_OnLoad
9/13 15:10:12.625  Silmara says: FACTION_UPDATE_END_STRING
9/13 15:10:12.625  Silmara says: DebugTooltip_OnLoad
9/13 15:10:12.625  Silmara says: ScriptErrorsFrameButton_OnClick
9/13 15:10:12.625  Silmara says: ScriptErrorsFrame_UpdateButtons
9/13 15:10:12.625  Silmara says: ScriptErrorsFrame_OnShow
9/13 15:10:12.625  Silmara says: EventTraceFrameEvent_OnLeave
9/13 15:10:12.625  Silmara says: EventTraceFrame_OnUpdate
9/13 15:10:12.625  Silmara says: EventTraceFrameEvent_OnEnter
9/13 15:10:12.625  Silmara says: EventTraceFrame_UpdateKeyboardStatus
9/13 15:10:12.625  Silmara says: EventTraceFrame_StopEventCapture
9/13 15:10:12.625  Silmara says: EventTraceFrame_OnEvent
9/13 15:10:12.625  Silmara says: EventTraceFrame_OnLoad
9/13 15:10:12.625  Silmara says: EVENT_TRACE_MAX_ENTRIES
9/13 15:10:12.625  Silmara says: FrameStackTooltip_OnEnter
9/13 15:10:12.625  Silmara says: ScriptErrorsFrame_OnError
9/13 15:10:12.625  Silmara says: EventTraceFrameEvent_OnClick
9/13 15:10:12.625  Silmara says: EventTraceFrame_StartEventCapture
9/13 15:10:12.625  Silmara says: FRAMESTACK_UPDATE_TIME
9/13 15:10:12.625  Silmara says: FrameStackTooltip_OnShow
9/13 15:10:12.625  Silmara says: _ERROR_COUNT
9/13 15:10:12.625  Silmara says: FACTION_UPDATE_INCREASE_STRING
9/13 15:10:12.625  Silmara says: FACTION_UPDATE_START_STRING
9/13 15:10:12.625  Silmara says: EventTraceFrame_OnKeyUp
9/13 15:10:12.641  Silmara says: EventTraceFrameEventHideButton_OnClick
Most of the tainted stuff seems to be related to diagnostic tools like eventtrace, framestack, etc. Nothing that would obviously interact with any part of the GlyphUI, certainly.

I didn't do a *recursive* scan through _G, which might turn up something. Or it might just crash the client if there are any circular references... Once I recover from my depression, I'll probably try.

I also attach my taint log, in case somebody smarter can find something I missed.
Attached Files
File Type: txt taint.log.txt (70.9 KB, 345 views)

Last edited by Belechannas : 09-13-13 at 04:27 PM.