Open GF-Huang opened 3 years ago
You probably need to install .NET framework: https://dotnet.microsoft.com/download/dotnet-framework (version 4.8 should do it).
Not this issue.
Then you probably need to upload your logs.
Right click on the log window at the bottom of MO2, set log level to debug, restart Mo2 and reproduce the problem. To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder".
Create a GIST which is a paste of your mo_interface logs, and link them here. Do NOT paste your full mo_interface logs here, as it will make this issue very long and hard to read! If you are reporting a bug, always include the mo_interface logs!
The OMOD installer is loaded correctly in this log.
I uninstall then re-install and click load this plugin
, the issue disappeared.
I am running with Lutris and I can't even get MO2 to run at all due to these bugs. There are 2 plugins that fail, "installer_omod.dll" and "installer_fomod_csharp.dll", and I click "Blacklist this plugin" but the blacklisting decision doesn't seem to be persisted because I keep getting these messages every time I start.
I installed MO2 using https://github.com/rockerbacon/lutris-skyrimse-installers , and it worked until I got clever and chose to allow it to self-update. It failed to restart after the update, and I am getting these messages ever since.
@rulatir What version of MO are you on?
Was on 2.2.2.1, currently unsure because I can't get to the point where it would show me the current version, but it should be the newest that is available through online self-update because I just did that?
Can you come by the discord when you have a minute? Assuming you're on 2.4.0, there are no known issues with the blacklist. In the meantime, you can always downgrade to 2.2.2.1 if you want.
I reinstalled 2.2.2.1 and it seems to be working.
Isa, bear in mind Lutris is mostly a Wine wrapper, so this is Linux. Here be dragons. As for the failure, my initial guess is Wine's got dodgy .NET FX 4.8 support or is accidentally configured such that it's just totally missing. Looking at the script in the linked repo, it seems only to be requesting the .NET Framework 4.0 from Winetricks, which is definitely below our minimum requirement.
I'm getting this issue too. .NET 4.8 is installed, and I've tried uninstalling and reinstalling MO2. I've also tried uninstalling and downgrading to 2.2.2.1 like rulatir mentioned. It no longer throws the error, but omods still don't show up in the downloads tab to install. They're immediately removed from the list once their download has finished.
Here's the GIST from the error: https://gist.github.com/Cynthius/f3fd34f039605b4f8bb35a4298d079f9
That's not actually got the error in it - it just says user skipped plugin 'installer_omod.dll', remembering in loadcheck
, so presumably at some point in the past when you had the error, you clicked the button to not try loading it in the future. Can you go into MO2's settings, then to the plugins tab, and check the OMOD installer isn't in the blacklist or otherwise disabled, then restart MO2 and send us a new log, please?
Ah, sorry. Got a bit confused with the order I had to do things in. I've replaced it with a log that does have the error now. Not sure if that's bad practice or not.
Here's the link, for convenience: https://gist.github.com/Cynthius/f3fd34f039605b4f8bb35a4298d079f9
There's nothing particularly helpful in that log, either. It says a core dump was created, so maybe that'll tell us more.
How should I send the in core dump?
I guess zip it and attach it here.
Alright, here's the dump:
The main thread, which is the most likely to have died, doesn't seem to have anything on its stack bar one NT DLL function call, so I don't think that's going to be helpful, unfortunately.
Sure. Just tell me if there's anything else I can do to help.
Not certain if this is the same underlying error, but I'm also getting the same message against MO2 2.4.1, which I did not get against MO 2.4.0.
Here are two relevant events out of the event log that might help shed some light on what's going on:
Application error:
Faulting application name: ModOrganizer.exe, version: 2.4.1.0, time stamp: 0x6056203e
Faulting module name: KERNELBASE.dll, version: 10.0.19041.804, time stamp: 0x0e9c5eae
Exception code: 0xe0434352
Fault offset: 0x000000000002d759
Faulting process ID: 0x6210
Faulting application start time: 0x01d72376973778ce
Faulting application path: C:\Modding\MO2\ModOrganizer.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report ID: 58ed8909-5252-41e2-ad32-f865e24695b4
Faulting package full name:
Faulting package-relative application ID:
.Net Runtime:
Application: ModOrganizer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NotSupportedException
Exception Info: System.IO.FileLoadException
at System.Reflection.RuntimeAssembly._nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(System.Reflection.AssemblyName, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(System.String, System.Security.Policy.Evidence, Byte[], System.Configuration.Assemblies.AssemblyHashAlgorithm, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
at System.Reflection.Assembly.LoadFrom(System.String)
at <Module>.AssemblyResolver.OnAssemblyResolve(System.Object, System.ResolveEventArgs)
at System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly, System.String)
Exception Info: System.IO.FileLoadException
at <Module>.OMODFrameworkWrapper.constructorHelper(OMODFrameworkWrapper*)
at <Module>.OMODFrameworkWrapper.{ctor}(OMODFrameworkWrapper*, MOBase.IOrganizer*, QWidget*)
at <Module>.std.make_unique<class OMODFrameworkWrapper,class MOBase::IOrganizer * &,0>(std.unique_ptr<OMODFrameworkWrapper,std::default_delete<OMODFrameworkWrapper> >*, MOBase.IOrganizer**)
at <Module>.InstallerOMOD.init(InstallerOMOD*, MOBase.IOrganizer*)
Edit: I installed MO 2.4.0 in place of 2.4.1 and I get the same error, but it was working just fine before I upgraded; perhaps something else was upgraded that's causing problems.
What do you get if you run this in PowerShell?
Get-ChildItem HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\
What do you get if you run this in PowerShell?
Get-ChildItem HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\
I've got VS 2019 installed, so I have many versions of .NETFramework installed, both SDK and Client.
ls HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\ | FT Name HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Client HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.1,Profile=Client HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.2,Profile=Client HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.3 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.3,Profile=Client HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5.2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5.3 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.6 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.6.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.6.2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.7 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.7.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.7.2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.8 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\Client HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\Default
So literally the same as I've got, and it works for me.
If you've got VS installed, I guess you could try debugging MO2. We've got PDBs somewhere. Hopefully, with the mode set to mixed (for some reason, with auto, it doesn't notice the .NET stuff) you can get it to break on the right exception and might see something helpful, e.g. it having loaded a much-too-old .NET Framework DLL, despite you having 4.8 installed.
After reinstalling my graphics card drivers, steam, and rebooting my computer a silly number of times... it looks like it's working (for now).
I'm having this issue on 2.4.2, windows 10 19041. Same unhelpful log with core dump. Let me know what I can do to track it down.
Depending on what caused it to die, there's a change that didn't quite make it into 2.4.2 that should make it log a few more potential errors instead of totally exploding.
Got a pr/commit to reference for that?
I was encountering this problem, then I remembered that I had changed the install directory to be under Program Files. I ran ModOrganizer.exe as admin and it loaded properly. I then promptly reinstalled under the default directory and it worked without admin.
Looking at Cynthius's log, they also had it installed under Program Files, so it might have been the same case. mrudat had it under the default, though, so that's not all that's going on here.
I also keep mod organizer in program files. Sounds like it might be UAC related.
In general, if software doesn't work, it's a really bad idea to run it as Admin. It's demonstrated it's not capable of doing what you tell it, and suddenly you're giving it more power. It's analogous to giving a child a submachine gun because you were annoyed that they weren't picking up their Nerf darts. Unfortunately, Microsoft accidentally trained people to include it in their troubleshooting when they rushed Vista out the door without giving developers enough time to adapt their applications to work with it.
It's just a troubleshooting step, we're not keeping it that way. It seems the solution is probably to follow the advice to install MO outside of program files. Issue closed? Unless we feel like hunting this one down, just to make sure there's not a legit underlying issue.
Nah, something's broken and now we have repro steps, so hopefully it'll be a simple fix. Having MO2 out of Program Files will work as a workaround until another release happens, though.
System.TypeInitializationException
HResult=0x80131534
Message=The type initializer for 'OMODFramework.Utils' threw an exception.
Source=installer_omod
StackTrace:
at OMODFrameworkWrapper.initFrameworkSettings(OMODFrameworkWrapper* )
at OMODFrameworkWrapper.{ctor}(OMODFrameworkWrapper* , IOrganizer* organizer, QWidget* parentWidget)
at std.make_unique<class OMODFrameworkWrapper,class MOBase::IOrganizer * &,0>(unique_ptr<OMODFrameworkWrapper\,std::default_delete<OMODFrameworkWrapper> >* , IOrganizer** <_Args_0>)
at InstallerOMOD.init(InstallerOMOD* , IOrganizer* moInfo)
This exception was originally thrown at this call stack:
OMODFramework.FileLogger.Init()
OMODFramework.Utils.Utils()
Inner Exception 1:
OMODFrameworkException: Could not create logging file at C:\Program Files\MO2\plugins\data\OMODFramework.log
System.UnauthorizedAccessException: Access to the path 'C:\Program Files\MO2\plugins\data\OMODFramework.log' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
at OMODFramework.FileLogger.Init()
https://github.com/ModOrganizer2/modorganizer-installer_omod/pull/5 should fix this.
I'm having this issue on Linux, but MO2 is installed in C:\Modding\MO2
in my Wine prefix, and not Program Files. Is it the same problem?
No. There's an issue where Wine doesn't know we need the .NET framework 4.8, but I can't remember whether that's the only issue.
Ah. It might have something to do with .NET 4.8 being broken since WINE 6.10
This package (dotnet48) is broken in wine-6.10. Broken since 5.18. See https://bugs.winehq.org/show_bug.cgi?id=49897 for more info. Use --force to try anyway.
@AnyOldName3 so, I was able to install .NET 4.8, but it causes WINE to crash:
0108:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems
0108:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0108:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
[2021-07-02 03:08:36.680 D] timing: MOApplication() 0 ms
[2021-07-02 03:08:36.681 D] timing: main() multiprocess 112 ms
[2021-07-02 03:08:36.685 D] looking for plugins in C:\Modding\MO2\plugins
[2021-07-02 03:08:36.686 D] loaded plugin 'BSA Extractor' from 'bsa_extractor.dll' - [Plugin]
[2021-07-02 03:08:36.693 D] loaded plugin 'BSA Packer' from 'bsa_packer.dll' - [Tool]
[2021-07-02 03:08:36.694 D] loaded plugin 'FNIS Checker' from 'check_fnis.dll' - [Plugin]
[2021-07-02 03:08:36.695 D] loaded plugin 'Basic diagnosis plugin' from 'diagnose_basic.dll' - [Diagnose]
[2021-07-02 03:08:36.697 D] loaded plugin 'Enderal Support Plugin' from 'game_enderal.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.698 D] loaded plugin 'Enderal Special Edition Support Plugin' from 'game_enderalse.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.700 D] loaded plugin 'Fallout 3 Support Plugin' from 'game_fallout3.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.702 D] loaded plugin 'Fallout 4 Support Plugin' from 'game_fallout4.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.704 D] loaded plugin 'Fallout 4 VR Support Plugin' from 'game_fallout4vr.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.706 D] loaded plugin 'Fallout NV Support Plugin' from 'game_falloutNV.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.707 D] loaded plugin 'Morrowind Support Plugin' from 'game_morrowind.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.709 D] loaded plugin 'Oblivion Support Plugin' from 'game_oblivion.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.710 D] loaded plugin 'Skyrim Support Plugin' from 'game_skyrim.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.712 D] loaded plugin 'Skyrim Special Edition Support Plugin' from 'game_skyrimse.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.714 D] loaded plugin 'Skyrim VR Support Plugin' from 'game_skyrimvr.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.716 D] loaded plugin 'Fallout TTW Support Plugin' from 'game_ttw.dll' - [Game, File Mapper]
[2021-07-02 03:08:36.717 D] loaded plugin 'INI Bakery' from 'inibakery.dll' - [File Mapper]
[2021-07-02 03:08:36.718 D] loaded plugin 'INI Editor' from 'inieditor.dll' - [Tool]
[2021-07-02 03:08:36.719 D] loaded plugin 'BAIN Installer' from 'installer_bain.dll' - [Installer]
[2021-07-02 03:08:36.720 D] loaded plugin 'Bundle Installer' from 'installer_bundle.dll' - [Installer]
[2021-07-02 03:08:36.721 D] loaded plugin 'Fomod Installer' from 'installer_fomod.dll' - [Installer, Diagnose]
0108:err:mscoree:LoadLibraryShim error reading registry key for installroot
0108:err:mscoree:CLRRuntimeInfo_GetRuntimeDirectory error reading registry key for installroot
0108:err:mscoree:ReallyFixupVTable unable to fixup vtable, hr=80004005, status=0
0108:err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded.
That's definitely a WINE problem rather than a me problem. Presumably, they're already tracking the lack of 4.8 support so there's not much we can do to speed it up.
I don't actually, see any open bugs about 4.8, and the one I linked earlier is closed,
I just googled the last line of the error and a vaguely similar issue report for different software said that the only supported way to install the .NET framework for WINE is via WineTricks. Is that how you installed it, or did you just run the Windows installer under WINE?
I just ran the Windows installer under WINE. Can you send me that link, please?
Maybe I should file a WINE bug report.
Hey, I fixed this by installing dotnet 4.8 through winetricks -q dotnet48
, runs perfectly now.
@eddwarddd Did you have to force it? It gives me this error:
warning: This package (dotnet48) is broken in wine-6.12. Broken since 5.18. See https://bugs.winehq.org/show_bug.cgi?id=49897 for more info. Use --force to try anyway.
Nevermind. Forcing it, did in fact work.