WoW BlueTracker Home | RSS | News | Contact
Recent | Search | Archive | CS Posts
Poster: Gello at 3/5/2006 7:30:52 AM PST
Subject: The "ModName has been blocked" message
   The "blocked" window has changed slightly on test to be much more useful:

"ModName has been blocked from an action only available to the Blizzard UI.
You can disable this addon and reload the UI.

[Disable] [Ignore]"

I can be totally off on this, and it would rock if anyone who has found out more can post, but it appears this error happens in at least two cases:

1. One of the movement functions was called or hooked.
2. Something that requires a hardware event was attempted in reaction to a non-hardware event.

Three things for users to be aware:
1. The reported mod may not be the one that has the problem, it's only the mod at the top of the pile.
2. The reported mod may not have done anything or be involved at all in what triggered the error.
3. While this seems like it would only affect movement, it also seems to affect everything that requires a hardware event being called when a hardware event didn't happen. This includes: SpellStopCasting, UseInventoryItem, CastSpellByName, etc. In most cases this will be SpellStopCasting since mods shouldn't've have been trying to use items or cast spells without a hardware event for a long time.

What's actually happening:

ModA is perfectly benign and hooks ChatFrame_OnEvent
ModB hooks ChatFrame_OnEvent and sometimes does SpellStopCasting when arg1=="Hey stop casting".
ModC is perfectly benign and hooks ChatFrame_OnEvent
ModD is perfeclty benign and hooks ChatFrame_OnEvent

ModD is being blamed for doing the illegal behavior, when ModB is the actual culprit. This is not really a bug with the game, it's just the nature of hook chains.

The curveball is that doing UseInventoryItem or any function that requires a hardware event also seems to be throwing the error. This was unexpected and may cause a lot of confusion to users and mod authors getting reports of their mods breaking even if they have nothing to do with movement or casting.

What users should do when you get this error:

1. Hit Ignore first.
2. Try to reproduce the error. When you can:
3. Note what mod is mentioned in the error. There will likely be a list of these if you have a bunch of mods.
4. Click Disable and it will disable the mod and reload the UI.
5. Try to get the error again, with whatever you suspect caused it before. Common things:
- Moving with keyboard or mouse
- Casting spells
- Using an item
- Unfortunately it may be that only certain conditions need met to trigger the error again
6. Repeat 3-5 until you can't get the error to return.
7. Now go back and re-enable all but the last mod that was disabled.
8. Try to trigger the error again. If you could reliably trigger it before but can't now, then you found the problem mod.

Is there anything that needs changed? Not really. I think Slouken and crew should be commended for trying to make the error informative so that users can pin down what's causing the problem, and especially for the Disable to make it easy to peel back the layers of the hook chain. It would've been much safer to give a generic error that says "Some mod is trying to do bad stuff. Disable all mods to fix this? Yes/No"

The support and maintenance of these mods should be the burden of the community so it will be up to us to track down the offending mods and get them fixed.

For any that would like to experiment on their own, these are the six files I used to experiment on test:

ErrorTest1\ErrorTest1.toc
## Interface: 11000
## Title: ErrorTest1
## Notes: Tests errors
ErrorTest1.lua

ErrorTest1\ErrorTest1.lua
local oldCF_OE = ChatFrame_OnEvent
function ChatFrame_OnEvent(event)
if string.find(arg1 or "","ErrorTest") then
DEFAULT_CHAT_FRAME:AddMessage("** In ErrorTest1")
end
oldCF_OE(event)
end

ErrorTest2\ErrorTest2.toc
## Interface: 11000
## Title: ErrorTest2
## Notes: Tests errors
ErrorTest2.lua

ErrorTest2\ErrorTest2.lua
local oldCF_OE = ChatFrame_OnEvent
function ChatFrame_OnEvent(event)
if string.find(arg1 or "","ErrorTest") then
DEFAULT_CHAT_FRAME:AddMessage("** In ErrorTest2")
CastSpellByName("Renew") -- The culprit
end
oldCF_OE(event)
end

ErrorTest3\ErrorTest3.toc
## Interface: 11000
## Title: ErrorTest3
## Notes: Tests errors
ErrorTest3.lua

ErrorTest3\ErrorTest3.lua
local oldCF_OE = ChatFrame_OnEvent
function ChatFrame_OnEvent(event)
if string.find(arg1 or "","ErrorTest") then
DEFAULT_CHAT_FRAME:AddMessage("** In ErrorTest3")
end
oldCF_OE(event)
end

[ post edited by Gello ]

  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post331202
 
Poster: slouken at 3/7/2006 4:59:03 PM PST
Subject: Re: The "ModName has been blocked" message
  

Q u o t e:
I am noting what I feel are "false positives" as a result of built-in automatic features. Examples:

1. Like Flameblade above tradeskills will generate the error if I try to cue multiple smeltings, then when it needs to autocue the next one it generates the error and picks some mod to blame it on. If I do them one at a time there are no errors.

2. If I pull mobs with hunter autoshoot everything is fine. When I pull with serpent sting or arcane shot in the current version it automatically starts up autoshot too. In the test this generates the error instead and fails to start autoshot, again picking some mod to blame and deactivate.

Essentially, the game is choking on its own automatic features then randomly blaming totally unrelated UI mods for it.


Can you narrow it down to one addon and reproduceable steps?
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post332514
Poster: slouken at 3/7/2006 4:59:03 PM PST
Subject: Re: The "ModName has been blocked" message *edited post*
  

Q u o t e:
I am noting what I feel are "false positives" as a result of built-in automatic features. Examples:

1. Like Flameblade above tradeskills will generate the error if I try to cue multiple smeltings, then when it needs to autocue the next one it generates the error and picks some mod to blame it on. If I do them one at a time there are no errors.

2. If I pull mobs with hunter autoshoot everything is fine. When I pull with serpent sting or arcane shot in the current version it automatically starts up autoshot too. In the test this generates the error instead and fails to start autoshot, again picking some mod to blame and deactivate.

Essentially, the game is choking on its own automatic features then randomly blaming totally unrelated UI mods for it.


Can you narrow it down to one addon and reproduceable steps? Thanks! :)

[ post edited by slouken ]

  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post332514
Poster: slouken at 3/7/2006 8:21:49 PM PST
Subject: Re: The "ModName has been blocked" message
   Does Titan hook any spell casting or movement activities?
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post332595
Poster: slouken at 3/8/2006 10:12:18 AM PST
Subject: Re: The "ModName has been blocked" message
  

Q u o t e:
The only thing I know is that Titan has Beserk Meter built into it. It monitors the bonus we'd get from hitting Beserk based on what our HP is, and if we click it, it'll cast Beserk for us.

It does not do anything automatically, AFAIK. We have to perform a click on the bar where we see Beserk Meter for it to cast.


The author should add a button instead of responding to mouse clicks. :)
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post332930
Poster: slouken at 3/8/2006 2:01:12 PM PST
Subject: Re: The "ModName has been blocked" message
  

Q u o t e:
Ok, I've got specific repro on the default crafting UI and it's brokenness! (After three days! Woo!)

Here's my mod that got blamed:
custom_proof.toc :

## Interface: 10900
## Title: proof!
## Author: custom
## Notes: proves crafting ui shenanigans
## DefaultState: enabled
custom_proof.xml[/pre]
custom_proof.xml :
[/pre]<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
<Frame name="custom_proof_NotaFrame" parent="UIParent">
<Scripts>
<OnLoad>
DEFAULT_CHAT_FRAME:AddMessage("proof!");
</OnLoad>
</Scripts>
</Frame>
</Ui>

To get the error to fly, I was crafting leather goods. I'll go back and try the "queued, then single" technique someone mentioned earlier to see if it's more easily reproducible, because I've been almost randomly getting it otherwise. Results, and maybe some screenshots to follow.

EDIT:Solid repro steps!
1. log into character
2. click leatherworkingicon on side action bar
3. click right arrow to queue up two of light armor kit
4. click the create button
5. wait for the first kit to finish

This is on Roald on the leveling contest usa test realm.

mostly for fun:
http://www.tyroney.com/wow/custom_proof_only.jpg
http://www.tyroney.com/wow/custom_proof.jpg

I'm usually nothing like this, but this is a special night.
*does the happy bug-finding dance

There.

(ps: the forums still break pre tags if you edit or quote a post with pre tags in it.)


Thanks for the great steps! This is fixed internally for 1.10.

Edit: By the way, this fixes all the cases where a spell was cast automatically by the client and a random addon would be blocked (hunter shots, click to move and open, tradeskill create-all, etc.)

[ post edited by slouken ]

  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post333077
Poster: slouken at 3/8/2006 5:57:34 PM PST
Subject: Re: The "ModName has been blocked" message
   I'm not sure exactly when you'll see it, but it'll definitely get into 1.10 live.
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post333249
Poster: slouken at 3/10/2006 1:35:12 PM PST
Subject: Re: The "ModName has been blocked" message
   In the next PTR update, the "blocked" message will only pop up for addons which hook or attempt movement. All other functions which require input will be silently blocked, as in 1.9.
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post334289
Poster: slouken at 3/10/2006 1:39:04 PM PST
Subject: Re: The "ModName has been blocked" message
  

Q u o t e:
Thank you slouken! I agree that this is the way to go. :)


Yep, thanks for the feedback, that's why I made that change. :)
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post334291
Poster: slouken at 3/10/2006 5:00:13 PM PST
Subject: Re: The "ModName has been blocked" message
   Gello, thanks for the update. I'll unsticky this once the test realm is updated, since it'll mostly be unnecessary. :)
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post334422
Poster: slouken at 3/11/2006 10:36:41 AM PST
Subject: Re: The "ModName has been blocked" message
   The fix isn't on the test server yet, it'll be in the next test server update.
  http://forums.worldofwarcraft.com/thread.aspx?fn=wow-interface-customization&t=331202&p=#post334806

View all recent official Blue Posts

WoW Blue Tracker: Archiving World of Warcraft Blue Posts
since March 2005
Home | RSS | News | Contact
Recent | Search | Archive | CS Posts
 

Why Ads?