kauffman12 / EQLogParser

Everquest Log Parser for Live and TLP servers
Apache License 2.0
63 stars 21 forks source link

Crashing to desktop randomly, nothing in error log #184

Closed Aszazyn closed 2 months ago

Aszazyn commented 3 months ago

EQLP randomly closes (*only while trigger manager is enabled and active) - the program will just vanish in the middle of gameplay. Works fine both before and after the random close of the program. Strange thing to note is that when its reopened, it doesn't seem to save the one "assign NPC to Pet" that I complete, not sure if that tells us anything (curious if that means the "reason" isn't being saved to error log, similarly).

Error log does not seem to note anything, but here is detail and you can see I had to restart program 4 times in three hours of raiding last night - I don't have an excessive amount of triggers, maybe about 20 per char - and I run it for ~3 chars at once, typically:

2024-06-26 19:02:35,990 [1] INFO EQLogParser.App - Using DotNet 8.0.4 2024-06-26 19:02:35,994 [1] INFO EQLogParser.App - RenderMode: SoftwareOnly 2024-06-26 19:02:36,227 [1] INFO EQLogParser.MainWindow - Window Pos (0, 0) 2024-06-26 19:02:36,227 [1] INFO EQLogParser.MainWindow - Window Size (1855, 1392) 2024-06-26 19:07:05,388 [1] INFO EQLogParser.MainWindow - Selected Log File: C:\EVERQUESTs\ViyceEQ\Logs\eqlog_Scayl_drinal.txt 2024-06-26 19:07:05,924 [1] INFO EQLogParser.MainWindow - Finished Loading Log File in 1 seconds. 2024-06-26 20:15:21,987 [1] INFO EQLogParser.App - Using DotNet 8.0.4 2024-06-26 20:15:21,992 [1] INFO EQLogParser.App - RenderMode: SoftwareOnly 2024-06-26 20:15:22,260 [1] INFO EQLogParser.MainWindow - Window Pos (0, 0) 2024-06-26 20:15:22,260 [1] INFO EQLogParser.MainWindow - Window Size (1855, 1392) 2024-06-26 20:16:03,484 [1] INFO EQLogParser.MainWindow - Selected Log File: C:\EVERQUESTs\ViyceEQ\Logs\eqlog_Scayl_drinal.txt 2024-06-26 20:16:08,584 [1] INFO EQLogParser.MainWindow - Finished Loading Log File in 5 seconds. 2024-06-26 20:44:32,158 [1] INFO EQLogParser.App - Using DotNet 8.0.4 2024-06-26 20:44:32,162 [1] INFO EQLogParser.App - RenderMode: SoftwareOnly 2024-06-26 20:44:32,195 [1] INFO EQLogParser.MainWindow - Window Pos (0, 0) 2024-06-26 20:44:32,195 [1] INFO EQLogParser.MainWindow - Window Size (1855, 1392) 2024-06-26 20:48:09,182 [1] INFO EQLogParser.MainWindow - Selected Log File: C:\EVERQUESTs\ViyceEQ\Logs\eqlog_Scayl_drinal.txt 2024-06-26 20:48:16,805 [1] INFO EQLogParser.MainWindow - Finished Loading Log File in 8 seconds. 2024-06-26 21:12:17,087 [1] INFO EQLogParser.App - Using DotNet 8.0.4 2024-06-26 21:12:17,091 [1] INFO EQLogParser.App - RenderMode: SoftwareOnly 2024-06-26 21:12:17,120 [1] INFO EQLogParser.MainWindow - Window Pos (0, 0) 2024-06-26 21:12:17,121 [1] INFO EQLogParser.MainWindow - Window Size (1855, 1392) 2024-06-26 21:18:21,846 [1] INFO EQLogParser.MainWindow - Selected Log File: C:\EVERQUESTs\ViyceEQ\Logs\eqlog_Scayl_drinal.txt 2024-06-26 21:18:31,018 [1] INFO EQLogParser.MainWindow - Finished Loading Log File in 9 seconds.

5800x3d CPU 6900xt GPU 32GB 3600MHz CL14 RAM no overclocking, etc. - system is stable

Log files are all kept under 1GB - but I did turn off the auto archive feature to try and remove variables to solve this issue - and it's still happening

I'm not the best with regex, but most of my character specific triggers attempt to be "clean" such as using ^, etc.

(Weird thing is: I recall this happening sometimes with GINA ..but definitely not as frequently)

kauffman12 commented 3 months ago

Well I'll try testing with 3 characters and see if I can get it to happen. If that doesn't work it might help if you shared your triggers.db and then I could try with exactly the same triggers and overlays you're using. Although, it would probably be best to shared that over discord and not here.

I assume you were doing LS raids? I can replay those from my own logs. If it's older raids then maybe use the File -> Save and create a log file to send. I don't know if you've used that but you would load up your log file. Select the fights from the raid you want to save and then File -> Save -> Save Selected Fight Log. It creates a file with just those fights and no chat and then I can try replaying your log.

Aszazyn commented 3 months ago

Well I'll try testing with 3 characters and see if I can get it to happen. If that doesn't work it might help if you shared your triggers.db and then I could try with exactly the same triggers and overlays you're using. Although, it would probably be best to shared that over discord and not here.

I assume you were doing LS raids? I can replay those from my own logs. If it's older raids then maybe use the File -> Save and create a log file to send. I don't know if you've used that but you would load up your log file. Select the fights from the raid you want to save and then File -> Save -> Save Selected Fight Log. It creates a file with just those fights and no chat and then I can try replaying your log.

Very much appreciate your reply, this drives me crazy - and I love EQLP :D Sorry if I've missed your discord, but you can add/dm me at mynameisnebula (I think).

Can send trigger db and log files!

cluefone commented 3 months ago

I am convinced that crashes only occur when my 5 characters are all grouped together. I suspect there is a potential issue when the same trigger (bard epic/fierce eye, for example) matches simultaneously on multiple characters. I have yet to find something consistently reproducible, but I can't recall any trouble while playing just one character at a time.

kauffman12 commented 3 months ago

Can you guys check the windows Event Viewer for any errors? Look at Windows Logs -> Application. Then you can sort by Error level and see if any show up for the parser. I've only see this once when trying to test multiple characters but it called out a crash in windows MSTTSEngine_OneCore.dll

image

Aszazyn commented 3 months ago

We might be onto something with multiple chars and text to speech? Because yes, I don't crash when running just 1 char...

image

Detail on these two:

image and image

Oddly, though: I only see this error twice..and I crashed at least 5 times that night.

I also see a strange one not related to eqlp: image

Aszazyn commented 3 months ago

Also: image

kauffman12 commented 3 months ago

Yeah the problem is most likely in that TTS library that comes with Windows when you're playing too many at once. There isn't really a good fix but I am using the older SpeechSynthesizer as originally I wanted to support Windows 7. But now that I'm using .net 8.0 I don't think Windows 7 works anymore anyway.

So, I can try switching to the Windows 10+ API and bringing in NAudio to do the playback as the new synthesizer doesn't handle that aspect. I'll probably also change the wav playback to use NAudio and all the audio playback will go through a more reliable mechanism. It shouldn't take too long to change and I imagine it could be a lot better in the long run.

kauffman12 commented 3 months ago

Ok try 2.2.26 and see if it's any better.