ue4plugins / UEGeoCoordinates

Provide tools for users to express Coordinates in different Geographic Coordinates Reference Systems
MIT License
136 stars 43 forks source link

Works in editor but crashes in packaged version after a few minutes #7

Closed JackGit3 closed 3 years ago

JackGit3 commented 3 years ago

Hi,

I'm using the plugin in 4.26 and running into an issue where the packaged version will always crash after a few minutes. Logs seem to indicate it's related to garbage collection and this plugin. Here's the relevant section from the log:

[2021.01.21-23.18.50:385][783]LogGarbage: Warning: Disregard for GC object SimulationSettings /Script/SimulationModule.Default__SimulationSettings referencing GeoReferencingSubsystem /Game/Maps/TestMap.TestMap:GeoReferencingSubsystem_2147482575 which is not part of root set [2021.01.21-23.18.50:385][783]LogOutputDevice: Warning:

Script Stack (0 frames):

[2021.01.21-23.18.50:385][783]LogWindows: Windows GetLastError: The operation completed successfully. (0) [2021.01.21-23.18.54:762][783]LogWindows: Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient-Win64-Debug.exe [2021.01.21-23.18.54:762][783]LogMemory: Platform Memory Stats for WindowsNoEditor [2021.01.21-23.18.54:762][783]LogMemory: Process Physical Memory: 287.93 MB used, 1795.12 MB peak [2021.01.21-23.18.54:762][783]LogMemory: Process Virtual Memory: 2352.34 MB used, 3354.24 MB peak [2021.01.21-23.18.54:762][783]LogMemory: Physical Memory: 14707.60 MB used, 17995.92 MB free, 32703.52 MB total [2021.01.21-23.18.54:762][783]LogMemory: Virtual Memory: 134210344.00 MB used, 7381.86 MB free, 134217728.00 MB total [2021.01.21-23.18.54:763][783]Message dialog closed, result: Ok, title: The UE4-TESTRTS Game has crashed and will close, text: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/GarbageCollectionVerification.cpp] [Line: 136] Encountered 1 object(s) breaking Disregard for GC assumptions. Please check log for details.

[2021.01.21-23.18.54:763][783]LogWindows: Error: === Critical error: === [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/GarbageCollectionVerification.cpp] [Line: 136] [2021.01.21-23.18.54:763][783]LogWindows: Error: Encountered 1 object(s) breaking Disregard for GC assumptions. Please check log for details. [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: [Callstack] 0x00007ff8d2523b29 UnknownFunction [] [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:777][783]LogExit: Executing StaticShutdownAfterError [2021.01.21-23.18.54:778][783]LogWindows: FPlatformMisc::RequestExit(1) [2021.01.21-23.18.54:778][783]LogCore: Engine exit requested (reason: Win RequestExit) [2021.01.21-23.18.54:785][783]Log file closed, 01/21/21 18:18:54

I'm definitely not an unreal engine expert so researching the garbage collector and digging through the code I'm kind of running into a brick wall. If any insight or even better a suggested solution could be provided I would be grateful. I can also provide the full log if desired and also the project. Thanks.

AlbanBERGERET-Epic commented 3 years ago

Hi,

Are you using the latest version of the plugin ? I had a similar error in the past, and one teammate told me I should have fixed it differently. That's why I made some changes in the latest published version.

If the problem persists, you can comment the "UPROPERTY(Transient)" line in SimulationSettings.h before "class UGeoReferencingSubsystem* GeoReferencingSubsystem = NULL;"

The next version will use another design for the settings, so it should not happen again.

On Thu, Jan 21, 2021 at 7:30 PM JackGit3 notifications@github.com wrote:

Hi,

I'm using the plugin in 4.26 and running into an issue where the packaged version will always crash after a few minutes. Logs seem to indicate it's related to garbage collection and this plugin. Here's the relevant section from the log:

[2021.01.21-23.18.50:385][783]LogGarbage: Warning: Disregard for GC object SimulationSettings /Script/SimulationModule.Default__SimulationSettings referencing GeoReferencingSubsystem /Game/Maps/TestMap.TestMap:GeoReferencingSubsystem_2147482575 which is not part of root set [2021.01.21-23.18.50:385][783]LogOutputDevice: Warning:

Script Stack (0 frames):

[2021.01.21-23.18.50:385][783]LogWindows: Windows GetLastError: The operation completed successfully. (0) [2021.01.21-23.18.54:762][783]LogWindows: Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient-Win64-Debug.exe [2021.01.21-23.18.54:762][783]LogMemory: Platform Memory Stats for WindowsNoEditor [2021.01.21-23.18.54:762][783]LogMemory: Process Physical Memory: 287.93 MB used, 1795.12 MB peak [2021.01.21-23.18.54:762][783]LogMemory: Process Virtual Memory: 2352.34 MB used, 3354.24 MB peak [2021.01.21-23.18.54:762][783]LogMemory: Physical Memory: 14707.60 MB used, 17995.92 MB free, 32703.52 MB total [2021.01.21-23.18.54:762][783]LogMemory: Virtual Memory: 134210344.00 MB used, 7381.86 MB free, 134217728.00 MB total [2021.01.21-23.18.54:763][783]Message dialog closed, result: Ok, title: The UE4-FoxhoundRTS Game has crashed and will close, text: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/GarbageCollectionVerification.cpp] [Line: 136] Encountered 1 object(s) breaking Disregard for GC assumptions. Please check log for details.

[2021.01.21-23.18.54:763][783]LogWindows: Error: === Critical error: === [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/GarbageCollectionVerification.cpp] [Line: 136] [2021.01.21-23.18.54:763][783]LogWindows: Error: Encountered 1 object(s) breaking Disregard for GC assumptions. Please check log for details. [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:763][783]LogWindows: Error: [Callstack] 0x00007ff8d2523b29 UnknownFunction [] [2021.01.21-23.18.54:763][783]LogWindows: Error: [2021.01.21-23.18.54:777][783]LogExit: Executing StaticShutdownAfterError [2021.01.21-23.18.54:778][783]LogWindows: FPlatformMisc::RequestExit(1) [2021.01.21-23.18.54:778][783]LogCore: Engine exit requested (reason: Win RequestExit) [2021.01.21-23.18.54:785][783]Log file closed, 01/21/21 18:18:54

I'm definitely not an unreal engine expert so researching the garbage collector and digging through the code I'm kind of running into a brick wall. If any insight or even better a suggested solution could be provided I would be grateful. I can also provide the full log if desired and also the project. Thanks.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ue4plugins/UEGeoCoordinates/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOHZBQ5P3NZRGPB6WKAIVNTS3DBKRANCNFSM4WNW3RNA .

JackGit3 commented 3 years ago

That seems to have fixed it. Looking forward to future versions thanks! Any chance of floats being eventually supported for projected origin coordinates? The docs say it has to be integral to keep precision but the sat image I'm using has the origin coordinates at something with decimal values to the hundredth place. Not too big a deal but when I convert to MGRS I'm slightly offset.

AlbanBERGERET-Epic commented 3 years ago

Great to read that.

There will not be any chance of allowing floats for the projected origin coordinates as the main goal of the rebasing is keeping the precision. This is not only a matter number of digits, but a matter of encoding. We need to keep ints to feed correctly our double precision computations. Test 1.1 there and you'll understand - https://www.h-schmidt.net/FloatConverter/IEEE754.html

But this is an arbitrary translation vector for the UE origin. It doesn't need to correspond to any geometry in your scene.

Let's say you have a sat image whose bottom left point is at (705001.23, 3960004.56), you set the origin offset to (705000, 3960000), and your geometry had to be located to (1.23, 4.56). Of course, this is not (0,0), but who cares ? The origin is not a visible entity in UE, and the geocoordinate plugin will do the opposite operation for you.

On Fri, Jan 22, 2021 at 4:42 PM JackGit3 notifications@github.com wrote:

That seems to have fixed it. Looking forward to future versions thanks! Any chance of floats being eventually supported for projected origin coordinates? The docs say it has to be integral to keep precision but the sat image I'm using has the origin coordinates at something with decimal values to the hundredth place. Not too big a deal but when I convert to MGRS I'm slightly offset.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ue4plugins/UEGeoCoordinates/issues/7#issuecomment-765701337, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOHZBQ63VS4RCKEIED7FWBDS3HWNRANCNFSM4WNW3RNA .

JackGit3 commented 3 years ago

That makes sense, thank you for the explanation.