I ditched the threading and used .after to do the readings and it doesn't crash anymore!
Lesson learned: Listen to Lerch and Stou. Avoid threading if it is practical to do so!
Anyway, now I'm gonna write up the calculations that are done to update the analysis panel, and then write up more regexps for each kind of logline. Right now I just have damage dealt and received - I have to get it to recognize healing, partial damage dealt/received, and kills.
The calculations for outgoing damage, um... sort of work... except that it keeps re-adding them for some reason and gleefully adding up into oblivion. Har har.