Crashes and SINGLE_SLOT_UPDATE
how to deal with it?
my experience started from this topic http://www.esoui.com/forums/showthread.php?t=4620 i have alot of addons but they all important to me and i havent addons with duplicate features, they all doing their job so i cant delete any1 of them sometimes i got CTD when: - open a guild bank - pickup alot of items - autosell alot of junk - when guard took away stolen items from me - etc etc i think EVENT_LOOT_RECEIVED not connected with guild bank so im looking for EVENT_INVENTORY_SINGLE_SLOT_UPDATE in all my addons here is the list: CharInfoInspector(private addon from eShinobu) FilteIt GreymindQuickslotBar - already fixed JunkIt Khrill Master Cook Khrill Merlin the Enchanter LootDrop - fix in progress MasterRecipeList PotionMaker - not a problem if open not outside the station QuickEnchanter RaetiaInfoHub Roomba Srendarr TweakIt WeaponChargeAlert YssEquipmentIndicator |
i can for example turn off 3 addons - one of the enchanter, lib silencer and weapon charge
but still alot addon with this function remains... |
any ideas?:D
|
Not much has changed, really. Your options are pretty much:
A. Change each addon to use EVENT_SINGLE_SLOT_UPDATE the minimum it can. How this is implemented depends on the addon (some might be able to avoid using it at all). B. Have them all use a common library that buffers the events to make sure it doesn't process too much at once. C. Hooking would require loading an addon first then overriding the RegisterForEvent handler. The only way an addon can be guaranteed to load first is if all other addons depend on it. (So again, change each of the addons.) D. Have ZOS implement some sort of fix for the event buffer and/or EVENT_SINGLE_SLOT_UPDATE. Note: this might require changing the API for that event, which would require changing each addon. E. Don't use that many addons with EVENT_SINGLE_SLOT_UPDATE |
thanks for info! i will try to cooperate all addon's authors for this
|
I don't crash but I also get annoying freezes when I am caught by a guard and in some other situations where many items get moved/scanned. I just whipped up a small addon for testing purposes, which throttles the event callbacks on single slot updates.
You can download it here. You then need to add Code:
## DependsOn: LibInventorySingleSlotUpdate It may or may not reduce your crashes. |
thanks i change first post with state about each addon progress
will see if crashes remains after all changes:) |
one easy partial fix could be :
Lua Code:
Why? This function returns true while you interact when a guard. If there is a single slot update at this moment, it could only be the justice system removing your items It should solve problem for this precise moment. For some other addons, it could also being removed at other moments. ex: do Lootdrop (who monitors loots) would run when you interact at bank ? when you restack items ? |
Quote:
Unless I am missing something you are looking for authors of addons that include registration and calls for "EVENT_INVENTORY_SINGLE_SLOT_UPDATE". I cannot find this event being used in any of the Wykkyd addons you referenced. I am not refusing to change anything, I advised that there isn't a problem in the addons you listed, and I suggested that you use the solution that was provided in the form of a library (LibInventorySingleSlotUpdate) that sirinsidiator made for this. Since none of these three addons reference inventory there would be no reason to register or call this event. Unless there is another event you have a concern with, please remove the unaffected addons from your list. (I would also recheck your scan of the files to make sure the rest are really impacted) Ravalox |
thanks for explanatio! now im know why
i will delete this addons from the list :) i see its only reference to libFactory so ye you are right |
i can test lootdrop when tweaked version wil be rdy :)
|
nice comment i got!
Quote:
|
can any1 know why i got crash when trying to choose one guild from guild UI?
weird |
Because you use way too many addons :P
But seriously. We as addon authors cannot tell you why it crashes from just a screenshot and a sentence saying "i got crash when trying to choose one guild from guild UI". There are no tools for us to do this and until ZOS gives us a crash log which tells us the exact line of code that caused the crash, we cannot do anything about it. Unless you give us steps to reproduce the crash 100% reliably, a dump of your addon folder, some time and some money. |
stil lexperienced crashes on guildbank opening....
cant narrow down the problem i suspect Inventory insight or smthing |
I got crashes at the gild bank too sometimes and I do not use these addons.
But the crash happens as I select a new guild AND the guild bank withdraw panel is open AND there are shown many items (like the material filter is selected and there are plenty of materials to scan). If I open the local inventory view (bank deposit tab) the crash never happens! One possible solution to track this down would be: -Check each of your addons which are using events if the guild bank opens -Check each addon which is using EVENT_INVENTORY_SINGLE_SLOT_UPDATE etc. -Write a debug message into the callback functions with the addon name (at the point where the callback funcitons really is executed, and not stricktly at the first line, which could be "if isNew == false then return end" or something similar that will stop the function. -Maximize your chat window, play opening the guild banks and switching around until if it crashes and have an eye on the chat window to see which addons are actually called, in what order, how often, etc. This would be an attempt but I guess as long as the chat won't be dumped automatically each x seconds you wouldn't be able to fully see what is happening :( |
Quote:
Quote:
crash at guildbank - FilterIT, 99% |
Oh, I don't remember the exact wording but check the Esoui WIKI for the events at guild banks please.
There should be something like event_guild_bank_open or event_guild_bank_ready (for the part where the guild back withdraw tab is responsive to take stuff). |
EVENT_GUILD_BANK_ITEMS_READY
if oftens triggers 3/4 times for large guild banks so a flag with a zo_callLater is needed. |
thanks all, crashes at the guild bank gone with new version of FilterIt
but crashes on the PTs with another function still persist look at this topic if you have an ideas http://www.esoui.com/forums/showthread.php?t=5093 |
Ok, as I'm not using FilterIt, and still got guild bank crashes at the live servers:
What other addon could be the crash initiator here? I'm not using any "offline bank" addon like InventoryInsight or MobileBank. Only using AdvancedFilters, Roomba, Stacked (only sometimes, so this shouldn't be the reason). The crash happens as I open the guild bank the 3rd or 4th time during gaming. Never got a crash so far after gaming a long time and opening the guild bank the 1st time then. It only happens (afai could simulate it): -if I'm at the withdraw tab (in rare cases it will also crash at the deposit tab) -if there are many items shown (like the materials inventory tab is active) -if I change between the inventory tabs (example: from weapons to materials) -sometimes it crashes directly if I open the guild bank (and if the guild bank was opened before and closed with the withdraw panel, material tab e.g., active -> If I reopen the guild bank then the withdraw panel + material tab will be shown directly and the crash happens) For me it looks like some bug with any addon which is reacting on an inventory tab change (as the item lists get refreshed). I'll do some more tests with only a few addons activated. Hope it happens quick then so I don#t need to test for hours until it happens first again^^ Will post my results here afterwards. If you got any ideas (maybe the FilterIt bug is a bug in other addons too?) feel free to post them. Thanks! |
Quote:
Lua Code:
My best guess would be check what code is running when the list is Updated. UpdateList(), EVENT_INVENTORY_FULL_UPDATE, (shared) FullInventoryUpdate, exc... |
Little update, because I still see some code with function linked to event and which execute code without doing any checks, so a little collection :
Lua Code:
Lua Code:
Lua Code:
Lua Code:
Lua Code:
If you need this event to get the slotId for your loot, just try to do a single thing in the function : EVENT_SINGLE_SLOT_UPDATE always fires before EVENT_LOOT_RECEIVED, so this code will always be valid. Lua Code:
You can also Unregister the event listener while .... interacting with npc, opening bank, guild bank, be in combat, open mailbox, it depends of your needs! :) |
All times are GMT -6. The time now is 04:08 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI