Skip to content

Errors on tainted values when in combat inside an instance #11

@Kumodatsu

Description

@Kumodatsu

Listener produces Lua errors when sending chat messages while in combat in an instance.

See below for an error that occured by saying a simple /say message "a" while in combat in the Stockades. I only had Listener loaded and no other addons. Such errors do not seem to happen when in combat outside of an instance. The error occurs because, since 12.0.0, some arguments passed to the events that Listener subscribes to are tainted in some situations. So far I haven't been able to find clear documentation on which arguments to which events get tainted, but the error below suggests CHAT_MSG_SAY and probably the other chat events do have tainted values.

RPing inside instances is not the most common case, especially not while in combat, so in that regard it is not that big of an issue. However, it is of course possible to have the addon loaded while doing PvE or PvP content, and then these errors could pop up. I could have a look at fixing the errors but for that some decisions will have to be made about how the addon should behave in these situations, i.e. should it just not support the full functionality in these situations?

Expand to view error
Message: Interface/AddOns/Listener/src/listener.lua:926: attempt to compare a secret string value (tainted by 'Listener')
Time: Sun Mar  1 21:37:34 2026
Count: 2
Stack:
[Interface/AddOns/Listener/src/listener.lua]:926: in function 'AddChatHistory'
[Interface/AddOns/Listener/src/listener.lua]:623: in function 'OnChatMsg'
[Interface/AddOns/Listener/src/listener.lua]:526: in function <Interface/AddOns/Listener/src/listener.lua:513>
[tail call]: ?
[C]: ?
[Interface/AddOns/Blizzard_ChatFrameBase/Shared/ChatFrameFilters.lua]:146: in function <...s/Blizzard_ChatFrameBase/Shared/ChatFrameFilters.lua:138>
[tail call]: ?
[Interface/AddOns/Blizzard_ChatFrameBase/Mainline/ChatFrameOverrides.lua]:293: in function 'MessageEventHandler'
[Interface/AddOns/Blizzard_ChatFrameBase/Shared/ChatFrame.lua]:14: in function 'OnEvent'
[Interface/AddOns/Blizzard_ChatFrameBase/Mainline/FloatingChatFrame.lua]:127: in function <...lizzard_ChatFrameBase/Mainline/FloatingChatFrame.lua:126>

Locals:
sender = "Kerazeraiden"
event = "SAY"
message = "a"
language = ""
guid = "Player-3702-0B2719B1"
channel = ""
now = 2100678.564000
key = "SAYKerazeraiden|a"
last = 2100672.047000
isplayer = true
entry = <table> {
 p = true
 s = "Kerazeraiden"
 id = 96
 t = 1772397454
 m = "a"
 e = "SAY"
}
(*temporary) = <no value>
(*temporary) = "target"
(*temporary) = <no value>
(*temporary) = nil
(*temporary) = <no value>
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare a secret string value (tainted by 'Listener')"
Main = <table> {
 CopyFrame = <table> {
 }
 modules = <table> {
 }
 next_lineid = 97
 _history_dedupe = <table> {
 }
 frames = <table> {
 }
 DMTags = <table> {
 }
 guidmap = <table> {
 }
 MinimapButton = <table> {
 }
 defaultModuleState = true
 DMTag = <table> {
 }
 Frame = <table> {
 }
 chatlist = <table> {
 }
 baseName = "Listener"
 unread_entries = <table> {
 }
 chat_history = <table> {
 }
 Sound = <table> {
 }
 db = <table> {
 }
 config_font_list_tag = <table> {
 }
 Snoop2 = <table> {
 }
 raid_groups = <table> {
 }
 Locale = <table> {
 }
 defaultModuleLibraries = <table> {
 }
 config_options = <table> {
 }
 in_combat = true
 config_sound_list_tag = <table> {
 }
 version = "2.2.15"
 orderedModules = <table> {
 }
 active_frame = ListenerFrame1 {
 }
 realm = "ArgentDawn"
 first_lineid = 2
 enabledState = true
 name = "Listener"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions