Thread Tools Display Modes
03/09/15, 11:49 AM   #1
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
3 hours to track down the CTD

now i can be sure its this addons



if i turn OFF ANY OF THIS ADDONS - CDT GONE

how to reproduce
- steal some items
- pay the guard, in the moment you will pay and guard will take away stolen goods - you will got CTD

any ideas how to fix?
  Reply With Quote
03/09/15, 11:51 AM   #2
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
could you disable cmld? it has not been updated, i must to do this, but don't have really time, maybe today, tomorrow, don't know.
  Reply With Quote
03/09/15, 11:53 AM   #3
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
I CTD'd last night when a guard took seven items off of my body for the Indecent Exposure achievement and one other item out of my inventory. The only addons I share with that list are AwesomeGuildStore and Sous Chef.
  Reply With Quote
03/09/15, 11:56 AM   #4
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
yes

just now i turn all my other 20+ addons for alt character
but turn off AGS

guess what? CTD too(must be smthing else)

but 20+ addons without CMLD all okay
  Reply With Quote
03/09/15, 11:57 AM   #5
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
Originally Posted by Randactyl View Post
I CTD'd last night when a guard took seven items off of my body for the Indecent Exposure achievement and one other item out of my inventory. The only addons I share with that list are AwesomeGuildStore and Sous Chef.


with this set of addons like in first post i got 100% chance of CTD

btw if i replace FilterIt with Advanced filters CTD gone too

might be smthing in new stolen subfilters in FilterIt

Last edited by QuadroTony : 03/09/15 at 12:00 PM.
  Reply With Quote
03/09/15, 01:33 PM   #6
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,567
AGS itself does not do anything outside of guild stores.
The bulk of it's code is only initialized when you visit a guild store for the first time after a UI load.

The only thing that might have something to do with the crashes is libFilters, which gets initialized immediately:
Lua Code:
  1. local libFilters = LibStub("libFilters")
  2. libFilters:HookAdditionalFilter(LAF_GUILDSTORE, BACKPACK_TRADING_HOUSE_LAYOUT_FRAGMENT_BASIC)
  3. libFilters:HookAdditionalFilter(LAF_GUILDSTORE, BACKPACK_TRADING_HOUSE_LAYOUT_FRAGMENT_ADVANCED)
  Reply With Quote
03/09/15, 01:40 PM   #7
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
My crash to desktop does happen if I open a guod store and play a bit with the different tabs, close it, do something else, open it again -> At this point sometimes the CTD happens

Got another strange problem:
If I do a /reloadui I crash back to the login mask sometimes and it tells me the server can't be reached.
Ot it tells me some other error message.

I tried to turn of all addons and this fixes it. HAve to test each I guess
  Reply With Quote
03/09/15, 01:55 PM   #8
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,567
I also crash quite often when I switch tabs in guild store since the patch. Not sure why or how I can reproduce it though.
It would be so much easier if we got some kind of crash log which shows the call stack leading to the CTD. Maybe a certain person reads this and gets creative?
  Reply With Quote
03/09/15, 02:01 PM   #9
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
I had these crashes already before the patch 1.6.
Can't reproduce it with all chars but with some of them. It happens most of the time if I try to change a tab to the "Materials" tab (or some subfilters of AdvancedFilters.
Or if I open the guild bank and it was still at the materials tab or a subtab (like smithing crafting materials).

I guess it has to do with the materials somehow, because it never seems to happen if I am at another tab (armor, weapons).
Maybe it is just an endless looooooooooooooooop like Garkin has told me before and will just happen if there are many stacks of materials, which won#t happen with armor/weapons.
  Reply With Quote
03/09/15, 02:14 PM   #10
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
Originally Posted by sirinsidiator View Post
AGS itself does not do anything outside of guild stores.
The bulk of it's code is only initialized when you visit a guild store for the first time after a UI load.

The only thing that might have something to do with the crashes is libFilters, which gets initialized immediately:
Lua Code:
  1. local libFilters = LibStub("libFilters")
  2. libFilters:HookAdditionalFilter(LAF_GUILDSTORE, BACKPACK_TRADING_HOUSE_LAYOUT_FRAGMENT_BASIC)
  3. libFilters:HookAdditionalFilter(LAF_GUILDSTORE, BACKPACK_TRADING_HOUSE_LAYOUT_FRAGMENT_ADVANCED)
well you ar right, but if you try to delete all addons from the folder, except this four
and run the behaviour i describe - i bet you will get CTD
and if you disable AGS or one of those addons - CTD gone
  Reply With Quote
03/09/15, 02:24 PM   #11
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by QuadroTony View Post
now i can be sure its this addons



if i turn OFF ANY OF THIS ADDONS - CDT GONE

how to reproduce
- steal some items
- pay the guard, in the moment you will pay and guard will take away stolen goods - you will got CTD
I installed all of those & tried the steps you posted over & over, it never crashed. I tried it at least 10-15 times. I don't know which of your addons is causing it, but my guess is that it is the same problem that some addons had with swapping horses (only its much worse here).

When you swap horses that change your carrying capacity the game updates every slot in your backpack.

When you get caught and pay a bounty, the game updates all slots in your BACKPACK & BANK so its much worse than the horse problem. Although I don't know why it would update slots in the bank...you can't deposit stolen items in the bank can you??

My guess is some addons your using are not excluding old items in the SingleSlotUpdate event and then somethings going wrong when they are all trying to update every slot in the backpack & bank at the same time.

EDIT: I forgot to mention, the stolen items filters in FilterIt would have nothing to do with it. They don't do anything unless you press one of the stolen item buttons.

Last edited by circonian : 03/09/15 at 02:29 PM.
  Reply With Quote
03/09/15, 02:29 PM   #12
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
Originally Posted by circonian View Post
I installed all of those & tried the steps you posted over & over, it never crashed. I tried it at least 10-15 times. I don't know which of your addons is causing it, but my guess is that it is the same problem that some addons had with swapping horses (only its much worse here).

When you swap horses that change your carrying capacity the game updates every slot in your backpack.

When you get caught and pay a bounty, the game updates all slots in your BACKPACK & BANK so its much worse than the horse problem. Although I don't know why it would update slots in the bank...you can't deposit stolen items in the bank can you??

My guess is some addons your using are not excluding old items in the SingleSlotUpdate event and then somethings going wrong when they are all trying to update every slot in the backpack & bank at the same time.

EDIT: I forgot to mention, the stolen items filters in FilterIt would have nothing to do with it. They don't do anything unless you press one of the stolen item buttons.

mby the matter in bag space? i have 80 on this alt hero i tested, and you? will test on my main with 170 slots only when my 30k bounty will dissapear
  Reply With Quote
03/09/15, 02:37 PM   #13
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
Originally Posted by circonian View Post
When you get caught and pay a bounty, the game updates all slots in your BACKPACK & BANK so its much worse than the horse problem. Although I don't know why it would update slots in the bank...you can't deposit stolen items in the bank can you??
No, you can't put stolen items in your bank. Updating the bank is completely unnecessary...
  Reply With Quote
03/09/15, 02:43 PM   #14
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Maybe they use it to refresh the shared_inventories somehow. But for me it makes no sense.

@Circonian
-> Are we able to pre-hook this and abort the bank scan somehow?
  Reply With Quote
03/09/15, 02:52 PM   #15
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
That's an idea. Maybe we can get @merlight to throw it into his random ZOS fixes addon too
  Reply With Quote
03/09/15, 05:50 PM   #16
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by QuadroTony View Post
mby the matter in bag space? i have 80 on this alt hero i tested, and you? will test on my main with 170 slots only when my 30k bounty will dissapear
I tested it on a char that has 80 backpack slots with 120 bank slots, but my backpack only had like 15 items in it. The bank is completely full.
The slots only get updated if there is an item in the slot so whether or not those slots have items in them will also make a difference.

Why don't you just fence: sell/launder off your stolen items & then go kill yourself, its quicker than waiting :P
  Reply With Quote
03/09/15, 06:24 PM   #17
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
*cough*
THE PRIDE!


Originally Posted by circonian View Post
I tested it on a char that has 80 backpack slots with 120 bank slots, but my backpack only had like 15 items in it. The bank is completely full.
The slots only get updated if there is an item in the slot so whether or not those slots have items in them will also make a difference.

Why don't you just fence: sell/launder off your stolen items & then go kill yourself, its quicker than waiting :P
  Reply With Quote
03/09/15, 06:28 PM   #18
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by Baertram View Post
Maybe they use it to refresh the shared_inventories somehow. But for me it makes no sense.

@Circonian
-> Are we able to pre-hook this and abort the bank scan somehow?
I don't think so.
  Reply With Quote
03/09/15, 07:15 PM   #19
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,913
Ok, are we able to detect if we get caught and prevent executing our addon functions etc. to each bag and bank item by help of a variable we set, if we get caught?
Is there an event if we get caught and after we payed or run away?
  Reply With Quote
03/09/15, 09:49 PM   #20
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by Baertram View Post
Ok, are we able to detect if we get caught and prevent executing our addon functions etc. to each bag and bank item by help of a variable we set, if we get caught?
Is there an event if we get caught and after we payed or run away?
There is no event & no "specific" InteractionType for it, and we don't have access to any of that code.

The only thing I could think of (is very sloppy) Surely theres a better way than this, but maybe it will spark an idea. I didn't test any of this, its just an idea.

To detect getting caught you could do something like hook the INTERACT_WINDOW:BeginInteraction() and check to see if GetInteractionType() returns INTERACT_CONVERSATION, and then check the chatter: ZO_ChatterOption1:GetText() and search the string for some text related to getting caught, something like: "Clear my bounty"
Or maybe just the INTERACT_WINDOW:SelectChatterOptionByIndex(optionIndex) and if the optionIndex == 1, then check the chatter text.

I couldn't think of a decent way to know when its done updating. Only thing I could think of would be to just block your code for some set amount of time with a flag. Like when you get caught set: dontRunCode = true and then On EndInteraction() do a callLater and after a few ms set it back to false.

But if you exclude code from running on old items in the EVENT_INVENTORY_SINGLE_SLOT_UPDATE, none of this matters.
If you need to run code on old items it might be easier to find a different way to handle that instead of inside that event. It would just depend on what you need updated and when does it really need to be updated.
  Reply With Quote

ESOUI » AddOns » AddOn Help/Support » 3 hours to track down the CTD

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off