labstreaminglayer / plugin-UE4

LabstreamingLayer plugin for Unreal Engine 4
MIT License
10 stars 7 forks source link

Causing system crash on UE4.27.2 #8

Closed huppertt closed 2 years ago

huppertt commented 2 years ago

The plugin straight off the marketplace was causing the whole engine to fatally crash and exit sometime during the BeginPlay call. I tracked it down and fixed the issue. In LSLTypes.h lines 33 and 34, I had to add explicit category assignments to the UPROPERTY definitions. I am not sure why this was needed and I only used completely made up categories as placeholders, but once I recompiled with this edit, everything worked fine.
UPROPERTY(Category = "My Category" ...

cboulay commented 2 years ago

@brifsttar - Assigning you for now. Please let me know if you are unable to get to this within a couple weeks.

brifsttar commented 2 years ago

Hi, thanks for the bug report.

The fix seems (indeed) weird however. Do you have the crash logs (in Saved/Crashes), or a way to reproduce it? That would be useful to try to get a better understanding of what went wrong and what the root cause might be. I don't have any problem with the fix itself, but, if possible, I'd like to try and get a full picture of the underlying issue.

huppertt commented 2 years ago

Richard et al-

Thanks for the quick response. If no one has ever had this issue but me, maybe it just has to do with my settings (UE doesn’t like mono or something with my VS2019 for Mac settings). The error seems to be related to when the UnrealHeaderTool tries to parse the headers which are missing after the “mono UnrealBuildTool.exe” call (although this step does finish with no errors). I found a bunch of similar error reports for UE4 plugins on forums, but no one really had a clear reason. I can reproduce this error on both 4.26.2 and 4.72.2. I am going to try to get it to work on a different lab computer next week and see if I have the same issue.

In any event, I have a solution that works for me. This is a great tool. Thank you.

-Ted Theodore Huppert, PhD University of Pittsburgh Department of Electrical and Computer Engineering Center for Neural Basis of Cognition Clinical Translational Science Institute

Email: @.**@.> Phone: 1-412-383-5167 Office: Room 113 Schenley Place Website: www.huppertlab.net

The error that comes in the game’s log is not very informative:

[2022.01.29-13.16.19:208][758]LogLoad: Game class is 'GameModeBase'

[2022.01.29-13.16.19:209][758]LogWorld: Bringing World /Game/StarterContent/Maps/UEDPIE_0_Minimal_Default.Minimal_Default up for play (max tick rate 0) at 2022.01.29-08.16.19

[2022.01.29-13.16.19:210][758]LogWorld: Bringing up level for play took: 0.000524

[2022.01.29-13.16.19:210][758]LogOnline: OSS: Creating online subsystem instance for: :Context_1

[2022.01.29-13.16.19:211][758]LogLSL: Attempting to create stream outlet with name LSLTest, type Markers, sampling rate -1714435200.

[2022.01.29-13.16.19:282][758]LogMac: === Critical error: ===

SIGSEGV: invalid attempt to access memory at address 0x0

[2022.01.29-13.16.19:282][758]LogMac:

0x1b4674ff UE4Editor-Engine.dylib!AActor::BeginPlay() [UnknownFile])

0x1b466561 UE4Editor-Engine.dylib!AActor::DispatchBeginPlay(bool) [UnknownFile])

0x1cc2f1f9 UE4Editor-Engine.dylib!AWorldSettings::NotifyBeginPlay() [UnknownFile])

0x1bcd6ec1 UE4Editor-Engine.dylib!AGameStateBase::HandleBeginPlay() [UnknownFile])

0x1cbebeae UE4Editor-Engine.dylib!UWorld::BeginPlay() [UnknownFile])

0x1bcad7d7 UE4Editor-Engine.dylib!UGameInstance::StartPlayInEditorGameInstance(ULocalPlayer*, FGameInstancePIEParameters const&) [UnknownFile])

0x16d8e6b4 UE4Editor-UnrealEd.dylib!UEditorEngine::CreateInnerProcessPIEGameInstance(FRequestPlaySessionParams&, FGameInstancePIEParameters const&, int) [UnknownFile])

0x16d83a2d UE4Editor-UnrealEd.dylib!UEditorEngine::OnLoginPIEComplete_Deferred(int, bool, FString, FPieLoginStruct) [UnknownFile])

0x16d85bd2 UE4Editor-UnrealEd.dylib!UEditorEngine::CreateNewPlayInEditorInstance(FRequestPlaySessionParams&, bool, EPlayNetMode) [UnknownFile])

0x16d8a9d4 UE4Editor-UnrealEd.dylib!UEditorEngine::StartPlayInEditorSession(FRequestPlaySessionParams&) [UnknownFile])

0x16d8065a UE4Editor-UnrealEd.dylib!UEditorEngine::StartQueuedPlaySessionRequestImpl() [UnknownFile])

0x16d7ff9b UE4Editor-UnrealEd.dylib!UEditorEngine::StartQueuedPlaySessionRequest() [UnknownFile])

0x16625eb8 UE4Editor-UnrealEd.dylib!UEditorEngine::Tick(float, bool) [UnknownFile])

0x171fe6d8 UE4Editor-UnrealEd.dylib!UUnrealEdEngine::Tick(float, bool) [UnknownFile])

0x0d9f7e1e UE4Editor!FEngineLoop::Tick() [UnknownFile])

0x0da0664f UE4Editor!GuardedMain(char16_t const*) [UnknownFile])

0x0da2452f UE4Editor!-[UE4AppDelegate runGameThread:] [UnknownFile])

0x0f5007e1 UE4Editor-Core.dylib!-[FCocoaGameThread main] [UnknownFile])

0x0dab22d9 Foundation!NSThreadstart__() [UnknownFile])

0x0cb8d4f4 libsystem_pthread.dylib!_pthread_start() [UnknownFile])

0x0cb8900f libsystem_pthread.dylib!thread_start() [UnknownFile])

I figured out the “fix” when I was trying to rebuild the plugin package. I did this by accident while I was trying to figure out how to force it to recompile (I had never worked with plugins or the C++ tools within UE; so I was a noob fumbling around with this).

UATHelper: Package Plugin Task (Mac): Running AutomationTool... UATHelper: Package Plugin Task (Mac): Found mono via known Mono.framework path UATHelper: Package Plugin Task (Mac): Running system mono/msbuild, version: Mono JIT compiler version 6.12.0.140 (2020-02/51d876a041e Thu Apr 29 10:44:55 EDT 2021) UATHelper: Package Plugin Task (Mac): Start UAT: mono AutomationTool.exe BuildPlugin -Plugin=/Users/theodorehuppert/Documents/Unreal Projects/SimpleLSLTest/Plugins/LSL/LabStreamingLayer.uplugin -Package=/Users/theodorehuppert/Desktop/LabStreamingLayer -CreateSubFolder UATHelper: Package Plugin Task (Mac): Parsing command line: BuildPlugin -Plugin="/Users/theodorehuppert/Documents/Unreal Projects/SimpleLSLTest/Plugins/LSL/LabStreamingLayer.uplugin" -Package=/Users/theodorehuppert/Desktop/LabStreamingLayer -CreateSubFolder UATHelper: Package Plugin Task (Mac): Copying 88 file(s) using max 64 thread(s) UATHelper: Package Plugin Task (Mac): Reading plugin from /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/LabStreamingLayer.uplugin... UATHelper: Package Plugin Task (Mac): Building plugin for host platforms: Mac UATHelper: Package Plugin Task (Mac): Running: mono "/Users/Shared/Epic Games/UE_4.27/Engine/Binaries/DotNET/UnrealBuildTool.exe" UE4Editor Mac Development -Project=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/HostProject.uproject -plugin=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/LabStreamingLayer. uplugin -iwyu -noubtmakefiles -manifest=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Saved/Manifest-UE4Editor-Mac-Development.xml -nohotreload -log="/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Editor-Mac-Development.txt" LogSlate: Took 0.000068 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/DroidSansMono.ttf' (77K) UATHelper: Package Plugin Task (Mac): Parsing headers for UE4Editor UATHelper: Package Plugin Task (Mac): Running UnrealHeaderTool "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/HostProject.uproject" "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Intermediate/Build/Mac/x86_64/UE4Editor/Development/UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattend ed -WarningsAsErrors -abslog="/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UHT-UE4Editor-Mac-Development.txt" -installed UATHelper: Package Plugin Task (Mac): 2022-01-29 08:36:33.207 UnrealHeaderTool[64039:1350183] [UE4] Looking for binary: ../../../Engine/Programs/UnrealHeaderTool/Config/BinaryConfig.ini UATHelper: Package Plugin Task (Mac): LogInit: Display: Loading text-based GConfig.... UATHelper: Package Plugin Task (Mac): /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(33) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. UATHelper: Package Plugin Task (Mac): /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(34) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. UATHelper: Package Plugin Task (Mac): Took 13.035228s to run mono, ExitCode=6 UATHelper: Package Plugin Task (Mac): UnrealBuildTool failed. See log for more details. (/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Editor-Mac-Development.txt) UATHelper: Package Plugin Task (Mac): AutomationTool exiting with ExitCode=6 (6) UATHelper: Package Plugin Task (Mac): RunUAT ERROR: AutomationTool was unable to run successfully. LogAnalytics: Display: [UEEditor.Rocket.Release] APIServer = https://datarouter.ol.epicgames.com/. AppVersion = 4.27.2-18319896+++UE4+Release-4.27 LogEditorSessionSummary: EditorSessionSummary sent report. Type=Crashed, SessionId={6BDB7744-0A42-9EC9-66A5-3585564B8E13}

The UBT-UE4Editor-Mac-Development.txt file is attached. But the key lines seem to be:

ExternalExecution.AreGeneratedCodeFilesOutOfDate: UnrealHeaderTool needs to run because no generated code directory was found for module LSL

ExternalExecution.ExecuteHeaderToolIfNecessary: Parsing headers for UE4Editor

ExternalExecution.ExecuteHeaderToolIfNecessary: Running UnrealHeaderTool "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/HostProject.uproject" "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Intermediate/Build/Mac/x86_64/UE4Editor/Development/UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UHT-UE4Editor-Mac-Development.txt" -installed

ExternalExecution.PrintProcessOutputAsync: LogInit: Display: Loading text-based GConfig....

ExternalExecution.PrintProcessOutputAsync: /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(33) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

ExternalExecution.PrintProcessOutputAsync: /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(34) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

UnrealBuildTool.Main: CompilationResultException: Error: OtherCompilationError

The “../Unreal Engine/LocalBuildLogs/UHT-UE4Editor-Mac-Development.txt” never seems to get created at all.

From: Bertrand Richard @.> Date: Saturday, January 29, 2022 at 3:00 AM To: labstreaminglayer/plugin-UE4 @.> Cc: huppertt @.>, Author @.> Subject: Re: [labstreaminglayer/plugin-UE4] Causing system crash on UE4.27.2 (Issue #8)

Hi, thanks for the bug report.

The fix seems (indeed) weird however. Do you have the crash logs (in Saved/Crashes), or a way to reproduce it? That would be useful to try to get a better understanding of what went wrong and what the root cause might be. I don't have any problem with the fix itself, but, if possible, I'd like to try and get a full picture of the underlying issue.

— Reply to this email directly, view it on GitHubhttps://github.com/labstreaminglayer/plugin-UE4/issues/8#issuecomment-1024861168, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALNU3OSV3AWCGAHSTH4GMYTUYONDFANCNFSM5NCI2FLQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you authored the thread.Message ID: @.***>

UEBuildPlatformSDK.PrintSDKInfo: UnrealBuildTool.MacPlatformSDK using manually installed SDK UEBuildPlatformSDK.PrintSDKInfo: UnrealBuildTool.AndroidPlatformSDK using manually installed SDK -23 UEBuildPlatformSDK.PrintSDKInfo: UnrealBuildTool.IOSPlatformSDK using manually installed SDK BuildMode.Execute: Command line: "/Users/Shared/Epic Games/UE_4.27/Engine/Binaries/DotNET/UnrealBuildTool.exe" UE4Editor Mac Development -Project=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/HostProject.uproject -plugin=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/LabStreamingLayer.uplugin -iwyu -noubtmakefiles -manifest=/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Saved/Manifest-UE4Editor-Mac-Development.xml -nohotreload "-log=/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UE4Editor-Mac-Development.txt" DynamicCompilation.RequiresCompilation: Compiling /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Intermediate/Build/BuildRules/HostProjectModuleRules.dll: Assembly does not exist DynamicCompilation.RequiresCompilation: Compiling /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Intermediate/Build/BuildRules/LabStreamingLayerModuleRules.dll: Assembly does not exist UEBuildTarget.AddPlugin: Enabling plugin 'LabStreamingLayer' (referenced via command line) UEBuildTarget.AddPlugin: Enabling plugin 'Paper2D' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AISupport' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'EnvironmentQueryEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'LightPropagationVolume' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CameraShakePreviewer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GameplayCameras' (referenced via default plugins -> CameraShakePreviewer.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'TemplateSequence' (referenced via default plugins -> CameraShakePreviewer.uplugin -> GameplayCameras.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'LevelSequenceEditor' (referenced via default plugins -> CameraShakePreviewer.uplugin -> GameplayCameras.uplugin -> TemplateSequence.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'OodleData' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OodleNetwork' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AnimationSharing' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SignificanceManager' (referenced via default plugins -> AnimationSharing.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'CLionSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CodeLiteSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GitSourceControl' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'KDevelopSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'NullSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PerforceSourceControl' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PixWinPlugin' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PlasticSourceControl' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PluginUtils' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PropertyAccessNode' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PropertyAccessEditor' (referenced via default plugins -> PropertyAccessNode.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'RiderSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SubversionSourceControl' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'TextureFormatOodle' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'UObjectPlugin' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'VisualStudioCodeSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'VisualStudioSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'XCodeSourceCodeAccess' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AssetManagerEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ContentBrowserAssetDataSource' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ContentBrowserClassDataSource' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CryptoKeys' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CurveEditorTools' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'DataValidation' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'FacialAnimation' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GameplayTagsEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GeometryMode' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MacGraphicsSwitching' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MaterialAnalyzer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MobileLauncherProfileWizard' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PluginBrowser' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SpeedTreeImporter' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'DatasmithContent' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'VariantManagerContent' (referenced via default plugins -> DatasmithContent.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'AlembicImporter' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GeometryCache' (referenced via default plugins -> AlembicImporter.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'AutomationUtils' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ScreenshotTools' (referenced via default plugins -> AutomationUtils.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'BackChannel' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ChaosCloth' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ChaosClothEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ChaosEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PlanarCut' (referenced via default plugins -> ChaosEditor.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'GeometryProcessing' (referenced via default plugins -> ChaosEditor.uplugin -> PlanarCut.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'EditableMesh' (referenced via default plugins -> ChaosEditor.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'GeometryCollectionPlugin' (referenced via default plugins -> ChaosEditor.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'ProceduralMeshComponent' (referenced via default plugins -> ChaosEditor.uplugin -> GeometryCollectionPlugin.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'ChaosSolverPlugin' (referenced via default plugins -> ChaosEditor.uplugin -> GeometryCollectionPlugin.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'ChaosNiagara' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'Niagara' (referenced via default plugins -> ChaosNiagara.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'PythonScriptPlugin' (referenced via default plugins -> ChaosNiagara.uplugin -> Niagara.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'ContentBrowserFileDataSource' (referenced via default plugins -> ChaosNiagara.uplugin -> Niagara.uplugin -> PythonScriptPlugin.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'CharacterAI' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MotoSynth' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OpenImageDenoise' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PlatformCrypto' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ProxyLODPlugin' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SkeletalReduction' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'LuminPlatformFeatures' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MLSDK' (referenced via default plugins -> LuminPlatformFeatures.uplugin) LuminSDKVersionHelper.HasAnySDK: Unable to determine MLSDK location UEBuildTarget.AddPlugin: Enabling plugin 'MagicLeap' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MagicLeapPassableWorld' (referenced via default plugins -> MagicLeap.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'MagicLeapLightEstimation' (referenced via default plugins -> MagicLeap.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'MagicLeapMedia' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AndroidMedia' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AvfMedia' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ImgMedia' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MediaCompositing' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MediaPlayerEditor' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'WmfMedia' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MeshPainting' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'TcpMessaging' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'UdpMessaging' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ActorSequence' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MatineeToLevelSequence' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OnlineSubsystemGooglePlay' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OnlineSubsystem' (referenced via default plugins -> OnlineSubsystemGooglePlay.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'AndroidPermission' (referenced via default plugins -> OnlineSubsystemGooglePlay.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'OnlineSubsystemIOS' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OnlineSubsystemNull' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OnlineSubsystemUtils' (referenced via default plugins -> OnlineSubsystemNull.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'LauncherChunkInstaller' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ActorLayerUtilities' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AndroidDeviceProfileSelector' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AndroidMoviePlayer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AppleImageUtils' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AppleMoviePlayer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ArchVisCharacter' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AssetTags' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AudioCapture' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CableComponent' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ChunkDownloader' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'CustomMeshComponent' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'ExampleDeviceProfileSelector' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GoogleCloudMessaging' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'GooglePAD' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'IOSDeviceProfileSelector' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'LinuxDeviceProfileSelector' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'LocationServicesBPLibrary' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'MobilePatchingUtils' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OculusVR' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OpenXR' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OpenXREyeTracker' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'OpenXRHandTracking' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'LiveLink' (referenced via default plugins -> OpenXRHandTracking.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'Takes' (referenced via default plugins -> OpenXRHandTracking.uplugin -> LiveLink.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'PhysXVehicles' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'PostSplashScreen' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'RuntimePhysXCooking' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SoundFields' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'SteamVR' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'Synthesis' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'AudioSynesthesia' (referenced via default plugins -> Synthesis.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'WebMMoviePlayer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'WebMMedia' (referenced via default plugins -> WebMMoviePlayer.uplugin) UEBuildTarget.AddPlugin: Enabling plugin 'WindowsMoviePlayer' (referenced via default plugins) UEBuildTarget.AddPlugin: Enabling plugin 'XGEController' (referenced via default plugins) LuminSDKVersionHelper.HasAnySDK: Unable to determine MLSDK location ExternalExecution.AreGeneratedCodeFilesOutOfDate: UnrealHeaderTool needs to run because no generated code directory was found for module LSL ExternalExecution.ExecuteHeaderToolIfNecessary: Parsing headers for UE4Editor ExternalExecution.ExecuteHeaderToolIfNecessary: Running UnrealHeaderTool "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/HostProject.uproject" "/Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Intermediate/Build/Mac/x86_64/UE4Editor/Development/UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/Users/theodorehuppert/Library/Logs/Unreal Engine/LocalBuildLogs/UHT-UE4Editor-Mac-Development.txt" -installed ExternalExecution.PrintProcessOutputAsync: LogInit: Display: Loading text-based GConfig.... ExternalExecution.PrintProcessOutputAsync: /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(33) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. ExternalExecution.PrintProcessOutputAsync: /Users/theodorehuppert/Desktop/LabStreamingLayer/HostProject/Plugins/LabStreamingLayer/Source/LSL/Public/LSLTypes.h(34) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module. UnrealBuildTool.Main: CompilationResultException: Error: OtherCompilationError UnrealBuildTool.Main: at UnrealBuildTool.ExternalExecution.ExecuteHeaderToolIfNecessary (UnrealBuildTool.BuildConfiguration BuildConfiguration, Tools.DotNETCommon.FileReference ProjectFile, System.String TargetName, UnrealBuildTool.TargetType TargetType, System.Boolean bHasProjectScriptPlugin, System.Collections.Generic.List1[T] UObjectModules, Tools.DotNETCommon.FileReference ModuleInfoFileName, System.Boolean bIsGatheringBuild, System.Boolean bIsAssemblingBuild, UnrealBuildTool.ISourceFileWorkingSet WorkingSet) [0x0047b] in <d532141a9e4a466493d8ab7d63b86b72>:0 UnrealBuildTool.Main: at UnrealBuildTool.UEBuildTarget.Build (UnrealBuildTool.BuildConfiguration BuildConfiguration, UnrealBuildTool.ISourceFileWorkingSet WorkingSet, System.Boolean bIsAssemblingBuild, System.Collections.Generic.List1[T] SpecificFilesToCompile) [0x005be] in :0 UnrealBuildTool.Main: at UnrealBuildTool.BuildMode.CreateMakefile (UnrealBuildTool.BuildConfiguration BuildConfiguration, UnrealBuildTool.TargetDescriptor TargetDescriptor, UnrealBuildTool.ISourceFileWorkingSet WorkingSet) [0x00146] in :0 UnrealBuildTool.Main: at UnrealBuildTool.BuildMode.Build (System.Collections.Generic.List`1[T] TargetDescriptors, UnrealBuildTool.BuildConfiguration BuildConfiguration, UnrealBuildTool.ISourceFileWorkingSet WorkingSet, UnrealBuildTool.BuildOptions Options, Tools.DotNETCommon.FileReference WriteOutdatedActionsFile, System.Boolean bSkipPreBuildTargets) [0x00012] in :0 UnrealBuildTool.Main: at UnrealBuildTool.BuildMode.Execute (Tools.DotNETCommon.CommandLineArguments Arguments) [0x0037d] in :0 UnrealBuildTool.Main: at UnrealBuildTool.UnrealBuildTool.Main (System.String[] ArgumentsArray) [0x002bb] in :0 Timeline.Print: Timeline: Timeline.Print: Timeline.Print: [ 0.000] Timeline.Print: 0.000 Timeline.Print: 0.106 FileMetadataPrefetch.QueueEngineDirectory() Timeline.Print: 0.207 XmlConfig.ReadConfigFiles() Timeline.Print: 0.526 SingleInstanceMutex.Acquire() Timeline.Print: 0.526 UEBuildPlatform.RegisterPlatforms() Timeline.Print: 0.528 0.001 Initializing InstalledPlatformInfo Timeline.Print: 0.596 0.069 Querying types Timeline.Print: 0.598 0.071 MacPlatformFactory Timeline.Print: 0.620 0.093 TVOSPlatformFactory Timeline.Print: 0.621 0.094 AndroidPlatformFactory Timeline.Print: 0.625 0.098 HoloLensPlatformFactory Timeline.Print: 0.625 0.098 IOSPlatformFactory Timeline.Print: 0.627 0.100 LinuxPlatformFactory Timeline.Print: 0.627 0.100 LuminPlatformFactory Timeline.Print: 0.628 0.101 WindowsPlatformFactory Timeline.Print: 0.633 TargetDescriptor.ParseCommandLine() Timeline.Print: 0.648 UEBuildTarget.Create() Timeline.Print: 0.650 0.001 RulesCompiler.CreateTargetRulesAssembly() Timeline.Print: 0.650 0.001 0.000 Timeline.Print: 0.837 0.189 0.187 Finding engine modules Timeline.Print: 0.858 0.209 0.207 Finding plugin modules Timeline.Print: 0.872 0.223 0.221 Timeline.Print: 0.920 0.271 0.269 Finding program modules Timeline.Print: 0.923 0.274 0.273 Finding program targets Timeline.Print: 0.934 0.286 0.284 Compiling rules assembly (HostProjectModuleRules.dll) Timeline.Print: 1.260 0.612 0.610 Compiling rules assembly (LabStreamingLayerModuleRules.dll) Timeline.Print: 1.563 0.915 RulesAssembly.CreateTargetRules() Timeline.Print: 1.942 1.294 UEBuildTarget constructor Timeline.Print: 1.947 1.299 UEBuildTarget.PreBuildSetup() Timeline.Print: 3.170 UEBuildTarget.Build() Timeline.Print: 3.170 0.000 Timeline.Print: 3.339 0.168 ExternalExecution.SetupUObjectModules() Timeline.Print: 6.234 3.063 Timeline.Print: 6.274 3.104 Executing UnrealHeaderTool Timeline.Print: 12.693 Timeline.Print: 12.737 FileMetadataPrefetch.Stop() Timeline.Print: [12.739]

brifsttar commented 2 years ago

Sorry for being so long to answer, I just saw that you attached the log, thank you!

The error actually is very explicit:

UATHelper: Package Plugin Task (Mac): [...]/LSLTypes.h(34) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

But it's weird that it seems to be Mac only, and that the plugin passed the Marketplace review without it being caught. Anyway, since it's clearly defined has an error by Unreal, I merged your fix. Thank you for your help!

cboulay commented 2 years ago

@huppertt thank you for the clear reporting. @brifsttar thank you very much for taking care of this. In my naive opinion it is resolved. I will leave it to you to close this issue when you are satisfied.

huppertt commented 2 years ago

Thank you. By the way, I was able to reproduce the same error on a Windows 10 PC if you “Launch” the game instead of just playing it. Launch invokes a re-compile and you get the same compile error message. Unlike on the Mac, it doesn’t cause a fatal error on the PC and the LSL plugin works fine in “play” mode until you try to recompile it for a stand-alone. The same code edit fixed it on windows too.

Theodore Huppert, PhD University of Pittsburgh Department of Electrical and Computer Engineering Center for Neural Basis of Cognition Clinical Translational Science Institute

Email: @.**@.> Phone: 1-412-383-5167 Office: Room 113 Schenley Place Website: www.huppertlab.net

From: Chadwick Boulay @.> Date: Monday, February 14, 2022 at 11:50 AM To: labstreaminglayer/plugin-UE4 @.> Cc: huppertt @.>, Mention @.> Subject: Re: [labstreaminglayer/plugin-UE4] Causing system crash on UE4.27.2 (Issue #8)

@huppertthttps://github.com/huppertt thank you for the clear reporting. @brifsttarhttps://github.com/brifsttar thank you very much for taking care of this. In my naive opinion it is resolved. I will leave it to you to close this issue when you are satisfied.

— Reply to this email directly, view it on GitHubhttps://github.com/labstreaminglayer/plugin-UE4/issues/8#issuecomment-1039314398, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALNU3OUW4G3P3GAM6YFMBODU3EXEZANCNFSM5NCI2FLQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>