WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Help/Support (https://www.wowinterface.com/forums/forumdisplay.php?f=3)
-   -   Constant errors across addons, 'script ran too long' (https://www.wowinterface.com/forums/showthread.php?t=45431)

Barleduq 12-12-12 01:23 PM

Constant errors across addons, 'script ran too long'
 
I'm not sure if this is where this should go - please, move it as needed, and I'll try to follow. :)

I'm having a whole *bunch* of my addons throw errors, almost all of the variety 'script ran too long'. Most of the time it's the pair of addons that I use to track quests (Wholly/Grail), but I've had swatter report the 'script ran too long' error... from swatter. o.O

I'm not a coder, just a user (a power user, having been a low-end junior sysop, but still, a user).

is there anything that I, as a user, can/should/could do about this? Other than randomly start disabling addons. (Annoying, when I'm in a dungeon and have things popping in my face, and yet disabling things that are usefull.... fortunately, the quest stuff (which is the most frequently blamed addon) isn't quite as needed in that more-immediate environment.) I've talked to other folks who also have this 'script ran too long' error popping up, on different addons, so I know it's not just me, and not just Wholly/Grail.

Thanks for any help/ideas.

Addons I'm using:
ACP, Advanced Icon Selector, Altoholic, Analyst, Archy, Auctioneer Suite, Autorepair (off curse, not the one here), Badboy, Beancounter (part of Auc Suite), BelowAverageItems, Chinchilla Critter Emote (from curse), Compass, DragEmAll, Dresser, Elephant, Enchantrix (part of Auc Suite), Engravings, Faction Addict, FastQuest-Classic (99% of the time disabled, use it for extreme world-event npc tagging e.g. getting the Lunar Elders on my low-levels for corpse-run kicks...), Fishing Buddy, Flight Map Enhanced, Gatherer (but i don't use the HUD), Gnomish Vendor Shrinker (just added yesteday), Goblin Vendor Filter (just added yesterday), Grail, Holiday Helper, IgnoreMore, Inflight (yes, a second flight map thingie), Informant, Keeping Tabs, Lagbar, Lightheaded, MetaMap (just added it, but this was happenign before), Postal, Range Display, Silver Dragon, Simplegold, Slidebar (the configuration for which seems broken), Speedy Gonzales, Stubby (again, part of Auc Suite and Gatherer), Swatter, Swindler Preventer, Tabard Addict, TomTom, Track-O-Matic, Wholly, Zone Achievement Tracker. I *was* using one that was a great aid in getting the '/love these pests' achievement, but with the consolidation of achievements across accounts, that broke and afaik hasn't been fixed yet. There are also about 3 more in the folder that I don't use, having been put there by other folks (who I presume turn all of mine off...); they're turned off at the 'character selection screen' level. (DCoords, Recount, Macrobank)

The errors reported by Swatter most frequently blame Grail for 'script running too long' - but, while blaming Grail for running too long, it will have lines from e.g. Datastore, which is a set of modules used by Altoholic, and *not* Grail. (yes, I've been talking to the Wholly/Grail dev about this, and sending him vast quantities of errors...)

Dridzt 12-12-12 02:50 PM

The authors of the specific addons that cause the error need to be notified so they can defer costly script operations to out of combat.

The limit to how much time can be allocated to the script environment is not known but we know it applies only in combat (for now anyway).

The way to solve these errors is to defer loops / recursion etc to outside of combat.

SDPhantom 12-12-12 03:12 PM

Starting with MoP, Blizzard added in a time limit any addon can run while the player is in combat. This is the result, the player getting spammed by error messages at the most critical moment when it's disrupting gameplay.

Nice idea Blizzard.

The funniest is when, on a clean install with no addons, Blizzard_DebugTools is flagged with this error at random.

Haleth 12-12-12 05:16 PM

It indeed usually means that some code's taking up to much resources, however Blizzard's UI has a few issues with this as well. Changing graphics options while in combat, for example, tends to trigger this error - especially when in a raid.

SDPhantom 12-12-12 05:20 PM

Or when Blizzard loads up one of their LoD addons while in combat.

Petrah 12-12-12 05:34 PM

Quote:

Originally Posted by Barleduq (Post 270608)
Annoying, when I'm in a dungeon and have things popping in my face

Not an answer to the errors themselves, but helps keep stuff from popping up on your screen; Bugsack with Buggrabber. Without and LDB bar, the icon will just sit on your minimap. The icon is just a little bag (sack) that sits there, and it'll turn red if there's LUA errors. There's sound too, which is annoying but you can disable the sound.

http://www.wowinterface.com/download...5-BugSack.html

Biggest reason to have these addons is for ease of reporting (copy/paste). They'll stay in there till you clear them out, so you can report the bugs later after game play.

Barleduq 12-13-12 09:26 AM

it may sound strange for me to say this...
 
The reason I use swatter is cause it comes along with gatherer and one other (I'm blanking right now which other... auctioneer?). I'm hesitant to add another add-on (waits for the laughter to die down, and the Eyeroll to come up snakes) when this one works, before bothering to spend the time to poke it to stop doing what I find annoying.

I'll have to pay more attention, I did not realize it was only happening during combat - I thought it was more general, I was just annoyed when it happened in combat. And yes, I have been reporting the bugs to the relevant authors. I was just hoping that there might be something that I could do on my end to make them less common, other than reporting them.

Especially weird when the nominal error claims one add on, but later in the readout it's referencing another add-on's submodules... (according to Wholly/Grail's author, he doesn't use Datastore, and yet one of the first times this happened (while fighting furbolgs in Felwood) swatter said grail ran too long, and in the dump was referencing lines in at least one Datastore module... )

thanks for the responses!

Vlad 12-13-12 09:27 AM

Bartender4 get these errors, more specifically, the animation system gets these errors, quite often. It's really annoying since there isn't much one can do to fix this... it all depends on your machine too I believe, if you run a old machine aren't the chances for these errors greater, than if the game has more room to work with? Maybe it's not so strict if it feels I has more than enough CPU power.

Talyrius 12-13-12 11:01 AM

The "script ran too long" errors are the result of Blizzard's new approach at preventing addons from diminishing gameplay experience. The restrictions are most severe while in combat. Blizzard hasn't defined just how long is "too long", but based on my testing, it's anything over about 100 milliseconds. Of course, how long a script takes to run varies from computer to computer. Consequently, people with slower computers will encounter these errors much more frequently.

Barleduq 12-13-12 03:21 PM

Running older computer? *raises hand*
 
As someone who *does* run on older computers (currently an IBM ThinkCentre salvaged from Husband's workplace, with a new graphics board (tho I don't remember what type)) it seems, from what various people have said, that I'm ripe for these things happening. I can only hope that running linux (generally less intensive than winblows, at least that is the intent) is saving me something of the annoyance. (Tho running scripts under wow under wine in fedora may or may not be so much 'faster'... *sigh*)

Off to poke at another addon giving me fits now (fishing buddy, throwing errors on login and i don't even have a fishing pole equipped...)

Thanks, everyone who's replied. At least I know it's not me (much)...

Barleduq 12-15-12 02:26 PM

Comparison?
 
Quote:

Originally Posted by Petrah (Post 270619)
Not an answer to the errors themselves, but helps keep stuff from popping up on your screen; Bugsack with Buggrabber. Without and LDB bar, the icon will just sit on your minimap. The icon is just a little bag (sack) that sits there, and it'll turn red if there's LUA errors. There's sound too, which is annoying but you can disable the sound.

http://www.wowinterface.com/download...5-BugSack.html

Biggest reason to have these addons is for ease of reporting (copy/paste). They'll stay in there till you clear them out, so you can report the bugs later after game play.

In what ways does this differ from Swatter? The only thing I see apparent is that Swatter immediately throws a window up, interfering with immediate actions; but Swatter also will put something in chat that says it found something, but won't be annoying you with it now. Looking at the page linked for Bugsack, it's difficult to tell if it's being actively attended to or mostly forgotten...

Seerah 12-15-12 02:54 PM

Quote:

Originally Posted by Barleduq (Post 270714)
Looking at the page linked for Bugsack, it's difficult to tell if it's being actively attended to or mostly forgotten...

:confused: It was updated 5 days ago...

Phanx 12-15-12 07:01 PM

BugSack is not "forgotten", but its author primarily uses WowAce/Curse. I recently got him to add me as a project co-author here on WoWI so I can upload updates. I just added a note to the WoWI description directing people to use the WowAce ticket tracker if they want someone to see their report/request.

However, if you are already using Swatter because it comes bundled with another addon you use, there isn't really any reason to install BugSack too. I personally think BugSack is nicer, but both do basically the same thing.

Petrah 12-16-12 02:57 PM

Quote:

Originally Posted by Barleduq (Post 270714)
In what ways does this differ from Swatter? The only thing I see apparent is that Swatter immediately throws a window up, interfering with immediate actions; but Swatter also will put something in chat that says it found something, but won't be annoying you with it now. Looking at the page linked for Bugsack, it's difficult to tell if it's being actively attended to or mostly forgotten...


You pretty much listed the differences. ;) If you can't stop Swatter from popups in the middle of game-play, that's a fairly good reason to switch to Bugsack. That and Bugsack, IMHO, has a better presentation than Swatter. It's going to be a matter of personal preference. Use the one you like most.

Bugsack was just updated a few days ago. I've been using it for a few years and even if they aren't that talkative on the forums and whatnot, they've always been on top of updates when they've been needed.

Phanx 12-17-12 01:24 AM

BugSack can also print a message to the chat frame when an error occurs, but this option is not turned on by default.

Bluspacecow 12-17-12 08:24 PM

I'm not sure if Swatter has this as neither the info pages I've found for Bugsack nor Swatter mention it .....

But one of the best features of Bugsack/BugGrabber is it has a throttle on the reporting system so if tons of errors are generated in a short amount of time it will stop reporting the errors. None too sure if it shuts the Lua error reporting system down completely or just stops it's own reporting system via BugGrabber. Like it throws up it's hands and goes "yeah one of your addons is like totally trashed man"

But it's damn useful on patch days - when I see that message I go "oh damn! something in my UI's pretty badly screwed up!"

Phanx 12-18-12 12:29 AM

Addons can't shut down the Lua error system; the only way to do that would be to stop the Lua interpreter from running, which would stop all addons and many other parts of the game. BugSack's throttle just applies to BugSack's alerts -- if you get 1000 errors at once, you only need one "hey, you have errors" alert, not 1000 alerts. All of the errors are still viewable if/when you want to go through them, though. :)

SDPhantom 12-18-12 04:06 AM

Quote:

Originally Posted by Phanx (Post 270815)
Addons can't shut down the Lua error system

Actually, it can be done in either of 2 ways. The first is setting the scriptErrors CVar to 0, this is the effect of unchecking "Display Lua Errors" in the interface options. This may only work on the Default UI as the currently registered error handler is still run. Another option that is guaranteed to work is to pass a dummy function to seterrorhandler() so Lua ends up running a function that does nothing when an error happens.

In the specific case Bluspacecow was posting, custom error addons do their thing by registering their own error handler via seterrorhandler(). From that point, it's up to the addon to either display the error, ignore it, or save it for later viewing.

Phanx 12-18-12 08:12 PM

Yes, but either way you're not doing anything to change the fact that the errors exist, or what the Lua interpreter does when it encounters one. You're only changing whether and/or how errors are displayed to the end user, so saying you're "shutting down the Lua error system" is not really accurate.

Bluspacecow 12-18-12 08:49 PM

Quote:

Originally Posted by Phanx (Post 270859)
Yes, but either way you're not doing anything to change the fact that the errors exist, or what the Lua interpreter does when it encounters one. You're only changing whether and/or how errors are displayed to the end user, so saying you're "shutting down the Lua error system" is not really accurate.

Yes I agree with you and I'll try to make this clear when discussing BugSack/BugGrabber for the future.

So it only shuts down BugSack from reporting them ?

Still. If your getting that many errors in a shorter time period to make BugSack clam up and not want to report anything else you have serious issues with one of your Addons.

It may make BugSack slighty inaccurate once it's stopped itself from reporting anything more but once you fix the issue with the addon making it go over it's threshold of reported errors in X time you can then move on to fixing the rest of the errors that may show up.


All times are GMT -6. The time now is 02:11 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI