none
mscorlib recursive resource lookup bug RRS feed

  • Question

  • For some odd reason, I can play StarCraft 2, Diablo 3, and Gears of War 4 just fine without issues. However, when I try to install League of Legends, Steam, or certain drivers for my mobo, I get this assert failure...

    I pulled out the GPU (thinking it was bad GPU drivers), reinstalled windows, and the issue persisted. I ran memtest86 on my RAM sticks, no issues found. I checked the SSD, no issues found within windows there. I even tried installing windows on a different drive, and the issue still persisted.

    The error can be found below:

    "Expression: [mscorlib recursive lookup bug]

    Descirption: Inifitnit recursion during lookup within mscorlib. This may be in mscorlib, or potentially in certain extensibility points such as assembly resolve events or CultureInfo names. Resource name: ArgumentOutOfRange_HashtableLoadFactor"

    Then it provides a stack trace I cant type at the moment.

    I have tried doing clean installs of windows, and upgrading through the windows install tool to try and correct any hiccups during install. System File Checker finds no issues either. Yet, the problem persists.

    Also, im not a developer, and I don't code on this PC.

    Hardware:

    I5-7600K

    Asrock Z270 Extreme 4 Mobo

    H110I V2

    16gb Corsair DOminator Platinum 3000mhz DDR4

    Sandisck SSD 480gb

    Sapphire R9 Fury

    Thanks!

    Wednesday, June 7, 2017 4:45 PM

All replies

  • It seems your installation is corrupted. Maybe there's update that fail in the middle so the resource file don't got updated. From the error message the code is trying to do something but fails, therefore it try to display error message, but it also fail to load the error message to display there is an error, so it try to load the error message for "display error message failed" again and failed again... (repeat the process until the runtime detects the recursion and stop it with the error message you see) Therefore stuck in infinite loop.

    Try do clean reinstall of the game. If the problem persist, please contact your game vendor.

    Thursday, June 8, 2017 1:34 AM
  • I am fairly confident, the application is not the issue. I am receiving this error in multiple applications, all of which I have tried to install multiple times.

    I would love to post an image of the actual error, but apparently my account needs verification....

    Anybody seen anything like this before? Anybody know how to verify account?


    • Edited by grunto Friday, June 9, 2017 10:07 PM
    Friday, June 9, 2017 10:01 PM
  • FYI, if it's windows error dialog, you can capture the error message by [Ctrl-Insert].

    Also, I suspect there would also be error message on event viewer "Application" group, or error log of the game / software.

    Btw, I took a look at ReferenceSource, and found that this error only exist when someone calls the constructor of HashTable specifying the load factor, but passed a value larger than 1 or less than 0.1 to it.

    Since all .NET code that calls HashTable with this variation of constructor either pass 1.0f or 0.1f to it, I suspect the vendors try to tune the memory footprint to specify a value themselves, but somehow let it grow above or below the legal range. You'll have to report the error with stacktrace to the vendor for them to include a range check in order to fix it. (A simple guarding statement that returns 1.0 if greater than 1 and return 0.1 if less than 0.1 will fix it)


    • Edited by cheong00 Sunday, June 11, 2017 7:27 AM
    Sunday, June 11, 2017 7:15 AM
  • Thank you for the bit about Event Viewer. I am able to copy and paste the full stack as shown below. Does this help at all?

    ***************************************************

    Application: Corsair LINK Installer v4.7.0.77.exe
    Framework Version: v4.0.30319
    Description: The application requested process termination through System.Environment.FailFast(string message).
    Message: Infinite recursion during resource lookup within mscorlib.  This may be a bug in mscorlib, or potentially in certain extensibility points such as assembly resolve events or CultureInfo names.  Resource name: ArgumentOutOfRange_HashtableLoadFactor
    Stack:
       at System.Environment.FailFast(System.String)
       at System.Environment+ResourceHelper.GetResourceStringCode(System.Object)
       at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
       at System.Environment+ResourceHelper.GetResourceString(System.String, System.Globalization.CultureInfo)
       at System.Environment+ResourceHelper.GetResourceString(System.String)
       at System.Environment.GetResourceStringLocal(System.String)
       at System.Environment.GetResourceFromDefault(System.String)
       at System.Environment.GetResourceString(System.String, System.Object[])
       at System.Collections.Hashtable..ctor(Int32, Single)
       at System.Globalization.CultureInfo.GetCultureInfoHelper(Int32, System.String, System.String)
       at System.Globalization.CultureInfo.GetCultureInfo(System.String)
       at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(System.Reflection.Assembly, System.Resources.UltimateResourceFallbackLocation ByRef)
       at System.Resources.ResourceManager.CommonAssemblyInit()
       at System.Resources.ResourceManager..ctor(System.String, System.Reflection.Assembly)
       at System.Environment+ResourceHelper.GetResourceStringCode(System.Object)
       at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
       at System.Environment+ResourceHelper.GetResourceString(System.String, System.Globalization.CultureInfo)
       at System.Environment+ResourceHelper.GetResourceString(System.String)
       at System.Environment.GetResourceStringLocal(System.String)
       at System.Environment.GetResourceFromDefault(System.String)
       at System.Environment.GetResourceString(System.String, System.Object[])
       at System.Collections.Hashtable..ctor(Int32, Single)
       at System.Security.PermissionTokenFactory..ctor(Int32)
       at System.Security.PermissionToken..cctor()
       at System.Security.PermissionToken.GetToken(System.Security.IPermission)
       at System.Security.CodeAccessSecurityEngine..cctor()
       at System.Security.CodeAccessSecurityEngine.Check(System.Security.CodeAccessPermission, System.Threading.StackCrawlMark ByRef)
       at System.Security.CodeAccessPermission.Demand()
       at System.AppDomainSetup.VerifyDir(System.String, Boolean)
       at System.AppDomainSetup.get_ConfigurationFile()
       at System.Configuration.ClientConfigPaths..ctor(System.String, Boolean)
       at System.Configuration.ClientConfigPaths.GetPaths(System.String, Boolean)
       at System.Configuration.ClientConfigurationHost.GetStreamName(System.String)
       at System.Configuration.ClientConfigurationHost.get_IsAppConfigHttp()
       at System.Configuration.ClientConfigurationSystem..ctor()
       at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
       at System.Configuration.ConfigurationManager.PrepareConfigSystem()
       at System.Configuration.ConfigurationManager.GetSection(System.String)
       at Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperApplicationFactory.Create(Microsoft.Tools.WindowsInstallerXml.Bootstrapper.IBootstrapperEngine, Microsoft.Tools.WindowsInstallerXml.Bootstrapper.Command ByRef)

    !!!!!!!!!! End of Error 1 !!!!!!!!!!

    Also, there seems to be another error, that may be the result of the first. Either way, I have pasted that as well.

    ******************************************

    Faulting application name: Corsair LINK Installer v4.7.0.77.exe, version: 4.7.0.77, time stamp: 0x561d8cdc
    Faulting module name: mscorlib.ni.dll, version: 4.6.1586.0, time stamp: 0x575a1299
    Exception code: 0x80131623
    Fault offset: 0x00f68fc0
    Faulting process id: 0x1c80
    Faulting application start time: 0x01d2e3d44251d66c
    Faulting application path: C:\Users\White Night\Downloads\Corsair-LINK-Installer-v4.7.0.77 (1)\Corsair LINK Installer v4.7.0.77.exe
    Faulting module path: C:\WINDOWS\assembly\NativeImages_v4.0.30319_32\mscorlib\40571abae9422cd2ca6fafbbde1c3cdc\mscorlib.ni.dll
    Report Id: a99e2c01-75e7-4608-af16-69f8e5ce2665
    Faulting package full name:
    Faulting package-relative application ID:


    • Edited by grunto Tuesday, June 13, 2017 12:11 AM
    Tuesday, June 13, 2017 12:09 AM
  • From the stacktrace, it seems the application have bug on CAS permission settings, then the runtime try to show the error message but cannot find the corresponding message in your locale and the fallback one, hence the recursion.

    Try reinstall the corresponding .NET framework v4.6 language pack for your OS language and see if it'll fix your problem (Btw, it may just be able to tell you what the CAS permission problem is, so you can tell the vendor to fix it). If not, you may need to reinstall .NET runtime.


    • Edited by cheong00 Tuesday, June 13, 2017 1:47 AM
    Tuesday, June 13, 2017 1:46 AM
  • I tried to download that language pack, however once I click your hyperlink, it says there is no language pack for English...

    Also, how do I go about reinstalling .Net runtime? It doesn't show up in control panel. And 4.6 is embedded in Windows 10, so I cant uninstall it. Ive tried reinstalling windows 10 several times. Both clean, and updated installs. The issue persists

    I also tried checking and unchecking the boxes in "Turn features on and off", which did not resolve the issue...

    Tuesday, June 13, 2017 7:54 PM
  • Try using this tool to repair it then.
    Wednesday, June 14, 2017 1:16 AM
  • Sorry for the late reply, I have been out of town for a bit. Anyways, this repair tool did not help.
    Thursday, June 22, 2017 2:09 AM