This ensures that we honor the user-settings for reporting analytics correctly if they change while the editor is running.
#jira UE-82764
[FYI] Johan.Berg
#rb Sebastian.Nordgren
#rnx
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 9902945 in //UE4/Release-4.24/... via CL 9902964
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v560-9963197)
[CL 9981629 by jamie dale in Dev-Core branch]
When the user has allowed usage data to be sent we initialize the analytics backend in the crash report client. If the user has also enabled sending unattended reports and an ensure is encountered followed by a crash the crash reporter would assert because the analytics backend was being initialized twice.
#rb sebastian.nordgren
#jira UE-82764
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: johan.berg
#ROBOMERGE-SOURCE: CL 9899678 in //UE4/Release-4.24/... via CL 9899681
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v560-9963197)
[CL 9978276 by johan berg in Dev-Core branch]
This ensures that we honor the user-settings for reporting analytics correctly if they change while the editor is running.
#jira UE-82764
[FYI] Johan.Berg
#rb Sebastian.Nordgren
#rnx
#ROBOMERGE-SOURCE: CL 9902945 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v558-9892490)
[CL 9902964 by jamie dale in Main branch]
When the user has allowed usage data to be sent we initialize the analytics backend in the crash report client. If the user has also enabled sending unattended reports and an ensure is encountered followed by a crash the crash reporter would assert because the analytics backend was being initialized twice.
#rb sebastian.nordgren
#jira UE-82764
#ROBOMERGE-SOURCE: CL 9899678 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v558-9892490)
[CL 9899681 by johan berg in Main branch]
A previous change moved the signal to the game/editor that it's okay to continue to after the crash report client was completely done with sending and resolving callstacks, because it was assumed that there was a syncronization problem. However that proved to be another issue, so moving the signal back to where it was originally. This should make the editor only "freeze" a short time, while necessary data is collected.
#jira UE-82333
#rb pj.kack
(ushell-p4-cherrypick of 9868282 by Johan.Berg)
#ROBOMERGE-SOURCE: CL 9868804 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v548-9842178)
[CL 9868810 by johan berg in Main branch]
A previous change moved the signal to the game/editor that it's okay to continue to after the crash report client was completely done with sending and resolving callstacks, because it was assumed that there was a syncronization problem. However that proved to be another issue, so moving the signal back to where it was originally. This should make the editor only "freeze" a short time, while necessary data is collected.
#jira UE-82333
#rb pj.kack
[CL 9868282 by Johan Berg in Dev-Core branch]
#rb none
[FYI] sebastian.nordgren
#jira UE-82436
#ROBOMERGE-SOURCE: CL 9838412 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v546-9757112)
[CL 9838415 by ben marsh in Main branch]
Reverted change to where FCrashReportAnalytics was initialized now that we get those settings from the UECrashContext file.
Added DelayedSend analytics attribute that determines whether or not the process that is sending an analytics event was the same one that created it.
#rb jamie.dale
#jira UETOOL-1826
#ROBOMERGE-SOURCE: CL 9731024 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v539-9700858)
[CL 9731027 by sebastian nordgren in Main branch]
Reverted change to where FCrashReportAnalytics was initialized now that we get those settings from the UECrashContext file.
Added DelayedSend analytics attribute that determines whether or not the process that is sending an analytics event was the same one that created it.
#rb jamie.dale
[CL 9687109 by sebastian nordgren in Dev-Core branch]
- Cleared the concert server instance info on server shutdown.
- Shutdown the disaster recovery service when a crash is created. This enable the next server instance to grab the file lock and restore.
- Fixed archive rotation (delete oldest) that did not work when concurrent servers existed.
- Improved disaster recovery error messages.
- Fixed disaster recovery client not restoring a session that was crashed (server managed the crash), but for which the client process was still hanging around.
- Prevent showing the recovery UI if -unattended is specified on command line.
#rb Jamie.Dale
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: patrick.laflamme
#ROBOMERGE-SOURCE: CL 9617188 in //UE4/Release-4.24/... via CL 9617199
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v531-9631997)
[CL 9644164 by patrick laflamme in Dev-Core branch]
- Cleared the concert server instance info on server shutdown.
- Shutdown the disaster recovery service when a crash is created. This enable the next server instance to grab the file lock and restore.
- Fixed archive rotation (delete oldest) that did not work when concurrent servers existed.
- Improved disaster recovery error messages.
- Fixed disaster recovery client not restoring a session that was crashed (server managed the crash), but for which the client process was still hanging around.
- Prevent showing the recovery UI if -unattended is specified on command line.
#rb Jamie.Dale
[CL 9617188 by Patrick Laflamme in 4.24 branch]
Legacy code in CrashDebugHelper was dragging in SourceControl and AssetRegistry as dependencies for CrashReportClient.
This dependency is no longer needed, as internal crashes now always perform local symbolification (either via symbols built locally, or synced via UGS). Syncing symbols from Perforce or a network drive is no longer needed or used.
#rb Ben.Marsh
#rnx
[CL 9422370 by Jamie Dale in Dev-Core branch]
- Removed FPlatformProcess::IsApplicationAlive as it's just a combination of (FPlatformProcess::IsProcRunning(...) && !FPlatformProcess::GetProcReturnCode(...)), and the latter lets you get the return code of the monitored application.
- Note: Getting the return code is only supported on Windows.
- Updated FWindowsPlatformProcess::GetProcReturnCode to leave ReturnCode unchanged if the function returns false.
- This is consistent with Mac and Linux.
- Updated CrashReportClientApp to open the monitor PID during init and use that handle for the rest of the run.
- This avoids issues with PID re-use as you have a persistent handle to the process, and also avoids repeatedly opening a process handle.
- Note: This has no benefit on Mac or Linux, as FProcHandle is just a wrapper around a PID.
#rb Johan.Berg, Patrick.Laflamme, Sebastian.Nordgren
#rnx
[CL 9366830 by Jamie Dale in Dev-Core branch]
Add the same check to break out of the main loop when the upload is complete as is being used in the RunUnattended method.
#rb stefan.boberg
[CL 9314805 by Johan Berg in Dev-Core branch]
EditorSessionSummarySender and EditorAnalyticsSession now live in their own module so they can be instantiated from the CrashReportClient.
#jira UETOOL-1825
#rb chris.gagnon, jamie.dale
[CL 9197613 by sebastian nordgren in Dev-Core branch]
Enabled capturing assert crash type.
Fixed the session name being looked for when collecting disaster recovery files.
#rb Jamie.Dale
[CL 9163094 by Patrick Laflamme in Dev-Core branch]
* Removed crash reporter client usage of "request exit", since we need to be able to send multiple reports in monitor mode. For example a ensure followed by a crash.
* Fix missing parenthesis when deciding to attach recovery service file.
#rb patrick.laflamme
[CL 9093219 by Johan Berg in Dev-Core branch]