Homecoming Team Number Six Posted April 30 Homecoming Team Share Posted April 30 Hello heroes, villains, and everything in between! In the ever-ongoing pursuit of perfection, we're rolling out a new opt-in program to help track down some of the more elusive client-side bugs. The crash reporting system has helped to track down and fix a lot of nasty bugs, including quite a few that date back almost to the release of the game. With the low-hanging fruit gone, now it's time to focus more on the ones that aren't so simple to catch. By running the diagnostic client, you can help us find and squash those really slippery bugs that are difficult to pin down. What is the diagnostic client? It's a special build of the game client that has some extra debugging features enabled. A few of the highlights: Extra-stringent memory allocator checks enabled, this will immediately crash if certain types of bugs are detected, such as double free or writing past the end of a buffer. Some previously dev-mode-only assertions enabled; they will cause an immediate crash if something that's supposed to be impossible happens, instead of a probable crash down the road somewhere. Most release mode optimizations are enabled, but a few that can cause headaches when analyzing crash dumps have been disabled. Has the ability to flag specific sections of code to retain extra data that would be normally optimized out, but on an as-needed basis based on other crash reports we're looking into. That's great, it makes my game crash more often, why on earth would I want to do that?! To help make the game better! The things that make it crash in diagnostic mode are things that would be very difficult to find the cause for in the regular release build. There are a few of these; every release we get a small number of crash reports that happen in consistent places, but the state in the memory dump makes no sense and should be impossible. The most likely cause is that corruption is being caused somewhere else in the code, but in rare enough cases that it doesn't happen in a way we can reproduce. This build will catch those earlier and help us narrow the root cause to eliminate them. Also, crash reports sent in by the diagnostic client get a special flag in our bug tracker so we know they have richer data. That means they get priority and are looked at first since they're more likely to lead to a solution. Is there any downside to running the diagnostic client? It is slightly more likely to crash early when there's a problem. In most cases, these situations would result in a crash anyway, just later on. But there are some bugs that might never cause a crash in the release client because they corrupt something that's otherwise unused. Because of the extra sanity checks and optimization differences, expect about a 5-8% performance loss on average compared to the normal release client. How do I opt-in? The diagnostic client is available in the Homecoming Launcher. It is not available in manifest-based launchers. Also, unlike the release client, it is 64-bit only and does not support legacy operating systems. To run it, you just need to go into the launcher settings and unhide it so that it shows up in the list: Then, simply "install" the diagnostic client. It uses the same data files as the standard Homecoming client, so it is a very fast install and only needs to download 2 additional files. When you're ready to play, just run the diagnostic client instead of the regular one! It shares all settings with the live client, so your characters, graphics settings, bind files, and so on will all be there. If you do encounter a crash when running the diagnostic client, please pick the memory dump option if possible! 4 4 5 Link to comment Share on other sites More sharing options...
starro Posted April 30 Share Posted April 30 (edited) My two favorite homecoming COH improvements: 64 bit client and the Homecoming client. When Homecoming started i was crashing easily 2-3 times an hour. I do have a semi persistent error logging out, selecting another character and logging back in and hope this provides info to squash that bug. Edited April 30 by starro clarification "She who lives by the cybernetic monstrosity powered by living coral, all too often dies by the cybernetic monstrosity powered by living coral." -Doc Buzzsaw Link to comment Share on other sites More sharing options...
TheZag Posted April 30 Share Posted April 30 Perhaps a link to this topic in the homcoming launcher news to increase visibility would be appropriate. There are probably several people that would participate but dont regularly visit the forum and they all see the launcher. Link to comment Share on other sites More sharing options...
Replacement Posted April 30 Share Posted April 30 Excellent that this is a separate launch option instead of the whole new launcher exe I feared when I started reading. It means if you're trying to get something done and have crashed a few times (and thus sent data dumps), you could still launch normally to just get that TF win! 12 hours ago, Number Six said: Expect about a 5-8% performance loss on average Is this at all times, like expect slideshow events to get choppy 5-8% sooner? Or more limited to things like initial client launch, map loads? Link to comment Share on other sites More sharing options...
TheZag Posted April 30 Share Posted April 30 8 hours ago, Replacement said: Is this at all times, like expect slideshow events to get choppy 5-8% sooner? Or more limited to things like initial client launch, map loads? ive been running it all day and i havent noticed any dip in performance. i had 20-21 frames during the hami raid today when i usually have 16-17. still close enough to be due to character composition but there was no problems for me while using it. Link to comment Share on other sites More sharing options...
Greycat Posted May 1 Share Posted May 1 So, question. At what point do these get sent? Does COH itself have to send an error or... ? Asking because I'm currently trying to log in a character (granted, dual boxing ATM,) I can select the character, it starts loading, gets to - oh, 99% and just hangs. I have to end it in task manager. Did it twice with the regular client, then the diagnostic client because - well, hanging. Windows caught that there was a "faulting application," but other than the Windows "this program encountered an error and needs to close," I didn't see anything else - *would* that have sent in a log? Or is there somewhere it saves a "this is happening..." that we can manually attach if needed? Primarily on Everlasting. Squid afficionado. Former creator of Copypastas. General smartalec. I tried to combine Circle and DE, but all I got were garden variety evil mages. Link to comment Share on other sites More sharing options...
Homecoming Team Number Six Posted May 2 Author Homecoming Team Share Posted May 2 Bah, bit of an issue. Sharing the data package seemed like a good idea to not have to duplicate all the data, but causes an issue when updating. If you have both Homecoming and Homecoming (Diag) installed, you won't be able to update either one of them. When you try to update one, the launcher (correctly) detects that the data version is different than the one required by the other profile and refuses to update because of the conflict. I'll work on a solution but for now you'll need to uninstall the Diag profile in order to update the game, then reinstall it. Link to comment Share on other sites More sharing options...
Greycat Posted May 2 Share Posted May 2 So that's what's going on. I was hopping back here to check. Primarily on Everlasting. Squid afficionado. Former creator of Copypastas. General smartalec. I tried to combine Circle and DE, but all I got were garden variety evil mages. Link to comment Share on other sites More sharing options...
Bionic_Flea Posted May 2 Share Posted May 2 But Six, why do you break things in order to fix them? 1 Link to comment Share on other sites More sharing options...
Homecoming Team Number Six Posted May 2 Author Homecoming Team Share Posted May 2 I pushed out a fix that changes the dependency type in the diag package to 'newer' to break the cycle, but if you already have it installed you'll still need to remove it temporarily. When the next update comes along it should work better. It may still show up as failed if the diag package tries to update first (going to have autoupdate default to false for new installs from now on), but once the main HC client is updated it'll succeed if you retry. 1 Link to comment Share on other sites More sharing options...
KaizenSoze Posted May 2 Share Posted May 2 (edited) 3 minutes ago, Number Six said: I pushed out a fix that changes the dependency type in the diag package to 'newer' to break the cycle, but if you already have it installed you'll still need to remove it temporarily. When the next update comes along it should work better. It may still show up as failed if the diag package tries to update first (going to have autoupdate default to false for new installs from now on), but once the main HC client is updated it'll succeed if you retry. I uninstalled the diag client, then re-updated the regular client and the error went away. Edited May 2 by KaizenSoze Night Pixie on Excelsior Introduction to Arachnos Widows - Night/Blood/Fortunata Link to comment Share on other sites More sharing options...
Homecoming Team Number Six Posted May 2 Author Homecoming Team Share Posted May 2 1 minute ago, KaizenSoze said: What is the correct way to remove the diagnostic client? Uninstall? Yes, make sure it's not hidden, click the '...' on the "Homecoming (Diag)" tile in the launcher, and select Uninstall from the menu. 1 Link to comment Share on other sites More sharing options...
Homecoming Team Number Six Posted May 4 Author Homecoming Team Share Posted May 4 On 5/1/2023 at 2:49 AM, Greycat said: At what point do these get sent? Does COH itself have to send an error or... ? It only gets sent if the game crashes or triggers an assert, at which point it'll prompt you about submitting a report, or preferably a memory dump. It doesn't have any kind of extra telemetry or data reporting or anything like that, so it unfortunately won't help with hangs or network issues like losing connection to mapserver. That might be something I add to it later, but if so it'll be opt-in. 1 Link to comment Share on other sites More sharing options...
Greycat Posted May 4 Share Posted May 4 7 minutes ago, Number Six said: It only gets sent if the game crashes or triggers an assert, at which point it'll prompt you about submitting a report, or preferably a memory dump. It doesn't have any kind of extra telemetry or data reporting or anything like that, so it unfortunately won't help with hangs or network issues like losing connection to mapserver. That might be something I add to it later, but if so it'll be opt-in. OK, so the COH-specific crash box (that as I recall has a place to type in what was going on / what you were doing - been a bit) = yes, it's sent. Windows "The program has stopped responding" - nothing saved, nothing sent, nothing to send. Hangs like I described - nothing saved, nothing sent, nothing to send. I was half thinking/wondering if it would be set (or could... pretty much by running the client) to record whatever's happening to a log, at least, to send in if it didn't get to that point. I don't know how much useful information the rather short "There was an application crash" Windows sometimes records would have by comparison, thought it might have something to go along with it. (Ended up logging into a *different* character, logging them out, then could log the first in, just as a followup to what led to that question.) Thanks! Primarily on Everlasting. Squid afficionado. Former creator of Copypastas. General smartalec. I tried to combine Circle and DE, but all I got were garden variety evil mages. Link to comment Share on other sites More sharing options...
Recommended Posts