-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash on load with entrypoint injection on Linux #404
Comments
1.0.2.1 fixes the crash :) unfortunately we're now back to hanging on startup (before the game window appears) instead |
Do you have a log for that too? |
Sure: dalamud.log Last couple of lines:
|
For me with version 1.0.2.1 the game loads almost every time. With 1.0.2.5 game successfully loads like 1 of 3 times.. Processes not responding, I must kill them to try again. |
Version 1.0.2.6 still hanging on startup |
Try disabling the crash handler in the config json (if you can't get ingame to do it via settings) and tell me if it hangs due to that. |
Crash handler disabled, still the same. When I'm returning version 1.0.2.1, the game starts normally: P.S. If I disable "Waitng for plugins", the game starts with version 1.0.2.6 |
I've tested on another computer, the game starting with version 1.0.2.6. So it seems that the issue is not with penumbra... |
|
That was some problem with xlcore configuration on main PC, so I've cleaned configuration. Now game starts every time w/o Penumbra and with entrypoint enabled. With Penumbra still hangs about 2 of 3 times even w/o mods. About 1 of 3 times game starting normally. Same problem with version 1.0.2.6 It seems, that with the latest version it hangs on start even more often. |
Hello I'm on NixOS and I am also experiencing this issue: |
Well, I can't test anything outside of windows, so I'm not sure how to help you. If any of you is able to self-compile or attach debuggers, you can do the latter to try to figure out where it deadlocks. |
I have done some minor modifications of other plugins using Visual Studio on Windows before so I wouldn't mind trying to help with debugging if that helps. Issue is that from what I'm reading in the Dalamud guide plugin development/debugging has to be done with Visual Studio which doesn't seem to be supported on Linux... do you know if it works decently with Wine? Or is there any other way of debugging plugins running on a Linux system? |
Sorry, but I have no clue. |
Just in case it helps, after some fiddling around I've found that disabling the "Wait for plugins on startup" option under "Advanced" makes Penumbra be loaded correctly every time even when the "Entrypoint" method is chosen but from what I've been told this basically negates the benefits of choosing "Entrypoint" in the first place. |
From what I've been told it appears that the issue is that the Entrypoint method (with the "Wait for plugins on startup" option enabled) stalls the game process while every plugin is being loaded. Apparently stalling the process on Windows is not an issue but when running the game on Wine this causes DXVK to timeout and the game to just not-start. With most plugins the amount of stalling required is not enough to cause problems but with Penumbra if people have enough mods (I have 65GB) this stalling can be long enough to make DXVK timeout causing the problem... if this assessment is correct I think unless some major redesign is done to make Penumbra capable of loading everything much faster (which is likely not possible) or the loading of some mods is delayed the issue is not really solvable... maybe a warning could be added somewhere to let Linux users know that if they have too many mods they may need to disable the "Wait for plugins on startup" option and/or pick the "DLLInject" method to make the game start. Edit: Typo. |
@bayta-88 You may be right. I've tested it on a newer and more performant hardware and the game starts every time with stable version. Not tested this with unstable tho. |
On Linux, using the newly-supported entrypoint injection method, Penumbra crashes on load:
I guess
Framework.Instance()
is null very early on startup?Penumbra/Penumbra/Services/ValidityChecker.cs
Lines 38 to 39 in fda77b4
There is a null check for it elsewhere:
Penumbra/Penumbra/Interop/Services/FontReloader.cs
Lines 32 to 34 in fda77b4
(entrypoint injection may also hang on Linux if Penumbra is enabled, but til this is fixed it's hard to test that)
The text was updated successfully, but these errors were encountered: