Thread Tools Display Modes
04/23/14, 11:04 PM   #1
LilBudyWizer
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 32
Client crashing bugs

My client is crashing periodically and I suspect it's addons causing it. Since you can't save anything through a crash it's rather hard to say for certain. An addon should never be able to crash the client. And in a perfect would I assume no quests would be broken either. While testing an addon I crashed the client so found it's certainly possible. So I thought a thread of things developers have encountered that will crash the client might be a good idea.

My mistake was infinite recursion. It's a rather hard one to slip through since it locks up the client as well. While tracking it down I most often had to kill the client since it locked up, but, occasionally, the client crashed first. The source of my recursion was accidently using an API function name for a function that actually called that API function.

It certainly highlighted an error in my coding style that allowed that to happen. I should have stuck all the local functions in a local global. It would certainly make it clearer in the code whether I'm calling a function my addon versus the API. It would let me share those functions between files as well call forward on local functions. With 2K lines it's a bit late for this addon.
  Reply With Quote
04/30/14, 03:28 PM   #2
katkat42
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 155
I've mostly managed to freeze the client, not crash it outright, and that was by calling functions from the vanilla API that were never meant to be called like I was doing.

(I also managed to run the UI out of memory once, but I can't remember now how I did it. I think it involved infinite recursion.)
  Reply With Quote
05/01/14, 12:28 PM   #3
pjt15253
Spam Warrior
 
pjt15253's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 16
I can consistently hard-crash the client with string.find("", "[aàáâäAÀÁÂÄ][aàáâäAÀÁÂÄ][aàáâäAÀÁÂÄ][aàáâäAÀÁÂÄ]"). Same with string.match, string.gmatch, and string.gsub. Generally if you stay away from non-ascii characters you're ok - but there's definitely a bug in the Lua pattern matching functions.
  Reply With Quote
09/11/14, 03:25 PM   #4
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
I recently fixed a crash in AwesomeGuildStore. Because of that I tried to run every method in the global object with several different "invalid" arguments today and had quite a number of crashes.
I have not tried any methods in tables or userdata yet, but will probably do someday.
  • FormatAchievementLinkTimestamp crashes when called with a negative number
  • GetTradingHouseSearchResultItemInfo, GetTradingHouseSearchResultItemLink and SelectTitle crash when called with an invalid index
  • ZO_DeepTableCopy turns into an infinite loop when passed a table that contains a reference to itself
  • Many functions that expect a control element crash when they get empty/invalid userdata instead.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Client crashing bugs


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