mklabs / ue-xelu-icons

Xelu's Controllers & Keyboard Prompts as an Unreal Plugin for programmatic use (cpp / bp)
MIT License
22 stars 4 forks source link

Development package won't start with this plugin #2

Open alberteddu opened 1 year ago

alberteddu commented 1 year ago

Hey! First of all thanks a lot for making this available to all of us :)

I'm trying this plugin on a UE5.1 project, and everything works correctly (including packaging for shipping), except that any package that isn't for shipping will produce an executable that won't start.

I've tried disabling this plugin and that will fix the problem.

I'm really not sure how to debug this further, so opening this issue here. Perhaps there's a very obvious reason I'm missing.

mklabs commented 1 year ago

Hey! Thanks for opening up the issue. Would you happen to know if it's a 5.1 issue only ?

I'll check anyway on my side.

And just to be sure we're on the same page, are we talking about this option ?

image

alberteddu commented 1 year ago

Thank you for your answer!

Yes that's the option I meant. I'm currently away from my machine but I can try this on 5.0 if that helps narrowing the issue down.

Let me know if I can help in any other way.

Frakatchoo commented 1 year ago

Ok, same issue, working on 5.1.1, after packaging the .exe just crash (development or shipping). Any fix ? Thanks for this fantastic plugin anyway ;)

Frakatchoo commented 1 year ago

Thank you for your answer!

Yes that's the option I meant. I'm currently away from my machine but I can try this on 5.0 if that helps narrowing the issue down.

Let me know if I can help in any other way.

Do you find a solution ?

mklabs commented 1 year ago

Hey guys, sorry for taking so long to take a look at it.

Indeed, development build doesn't produce an executable that can start, and shipping env ends up in a Fatal Error.

It's now a matter of being able to generate log files to see what is the crashing issue about, and it'll hopefully fix the development target too.

I'll try on 5.2 source build and see how it goes, as enabling logs in shipping builds requires an engine change and engine rebuild.

I'm curious though if this errors happens on 5.0 or if it started to happen with engine 5.1 release.

mklabs commented 1 year ago

Full log: XeluIconsBox.log

Here is the crash that happens on shipping build:

[2023.03.12-16.23.59:401][  0]LogD3D12RHI: Async texture creation enabled
[2023.03.12-16.23.59:401][  0]LogD3D12RHI: RHI has support for 64 bit atomics
[2023.03.12-16.23.59:401][  0]LogD3D12RHI: HDR output is supported on adapter 0, display 0:
[2023.03.12-16.23.59:401][  0]LogD3D12RHI:      MinLuminance = 0.054800
[2023.03.12-16.23.59:401][  0]LogD3D12RHI:      MaxLuminance = 455.523193
[2023.03.12-16.23.59:401][  0]LogD3D12RHI:      MaxFullFrameLuminance = 455.523193
[2023.03.12-16.23.59:417][  0]LogWindows: Error: appError called: Assertion failed: GraphicsContext [File:C:\dev\UnrealEngine\Engine\Source\Runtime\RHI\Public\RHICommandList.h] [Line: 683] 
There is no active graphics context on this command list. There may be a missing call to SwitchPipeline().

[2023.03.12-16.23.59:417][  0]LogWindows: Windows GetLastError: L’opération a réussi. (0)
[2023.03.12-16.24.01:720][  0]LogWindows: Could not start crash report client using ../../../Engine/Binaries/Win64/CrashReportClient.exe
[2023.03.12-16.24.01:720][  0]LogMemory: Platform Memory Stats for Windows
[2023.03.12-16.24.01:720][  0]LogMemory: Process Physical Memory: 242.51 MB used, 243.12 MB peak
[2023.03.12-16.24.01:720][  0]LogMemory: Process Virtual Memory: 415.99 MB used, 416.89 MB peak
[2023.03.12-16.24.01:721][  0]LogMemory: Physical Memory: 28656.24 MB used,  36004.58 MB free, 64660.82 MB total
[2023.03.12-16.24.01:721][  0]LogMemory: Virtual Memory: 37925.27 MB used,  31104.24 MB free, 69029.51 MB total
[2023.03.12-16.24.01:721][  0]Message dialog closed, result: Ok, title: The UE-XeluIconsBox Game has crashed and will close, text: Assertion failed: GraphicsContext [File:C:\dev\UnrealEngine\Engine\Source\Runtime\RHI\Public\RHICommandList.h] [Line: 683] 
There is no active graphics context on this command list. There may be a missing call to SwitchPipeline().

[2023.03.12-16.24.01:721][  0]LogWindows: Error: === Critical error: ===
[2023.03.12-16.24.01:721][  0]LogWindows: Error: 
[2023.03.12-16.24.01:721][  0]LogWindows: Error: Assertion failed: GraphicsContext [File:C:\dev\UnrealEngine\Engine\Source\Runtime\RHI\Public\RHICommandList.h] [Line: 683] 
[2023.03.12-16.24.01:721][  0]LogWindows: Error: There is no active graphics context on this command list. There may be a missing call to SwitchPipeline().
[2023.03.12-16.24.01:721][  0]LogWindows: Error: 
[2023.03.12-16.24.01:721][  0]LogWindows: Error: 
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff6540f7fa0 XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff651615ed0 XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff65160e492 XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff65160e7ba XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff65160f78c XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff65161a744 XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ff65629725e XeluIconsBox-Win64-Shipping.exe!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ffb1b1326bd KERNEL32.DLL!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: [Callstack] 0x00007ffb1c8adfb8 ntdll.dll!UnknownFunction []
[2023.03.12-16.24.01:721][  0]LogWindows: Error: 
[2023.03.12-16.24.01:725][  0]LogExit: Executing StaticShutdownAfterError
[2023.03.12-16.24.01:725][  0]LogWindows: FPlatformMisc::RequestExit(1)
[2023.03.12-16.24.01:725][  0]LogWindows: FPlatformMisc::RequestExitWithStatus(1, 3)
[2023.03.12-16.24.01:725][  0]LogCore: Engine exit requested (reason: Win RequestExit)

It's likely this doesn't happen on 5.0, and still happens on 5.2 source build (my engine is a few weeks old)

To enable log in shipping builds: https://forums.unrealengine.com/t/how-to-add-buselogginginshipping-to-my-project/125651/2 / https://forums.unrealengine.com/t/how-to-log-in-shipping-build-win/349171/26

This honestly sounds like an engine bug: https://forums.unrealengine.com/t/cant-start-packaged-project-on-5-1-graphicscontext-error/761533 and I'm fairly sure there is not much I'll be able to do at the plugin level.

We have a a ticket opened for this exact issue: https://issues.unrealengine.com/issue/UE-171275 with 5.2 as a target fix version.

Let's keep this issue opened and monitor for this above ticket getting resolved.

Frakatchoo commented 1 year ago

Thanks for the investigation, and let's wait and see. I don't know if it's related, but you can only package if the plugin is in the project folder. If it is in the Unreal folder, we get an error, unable to compile.

Frakatchoo commented 1 year ago

The target fix for this issue : https://issues.unrealengine.com/issue/UE-171275 is now 5.3 :( Simple question, is the problem related to the fact that it is a plugin? If so, wouldn't it be easier to just use bluprint and library, like "Dynamic Input Switching" on the marketplace, which does exactly the same thing as your plugin, but without build problem.