Important .Net 4.6 Fix!

Discussion in 'Scripting' started by napalmguy, Aug 5, 2015.

  1. napalmguy

    napalmguy MDL Novice

    Aug 26, 2012
    15
    17
    0
    #1 napalmguy, Aug 5, 2015
    Last edited by a moderator: Apr 20, 2017
    I do not consider what I post important, but it took me a while to figure out the fix for this problem

    there is a bug in .Net Framework 4.6 that causes apps written for earlier version of .Net to crash, or even prevent the app from running at all

    as far as I know, M$ is aware of the bug and will roll out a fix for it in the next patch tuesday.

    till then, u can use this fix:


    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
    "useLegacyJit"=dword:00000001
    
    
    I only posted this to help other people who faced the same problem as me.
     
  2. CODYQX4

    CODYQX4 MDL Developer

    Sep 4, 2009
    4,804
    45,138
    150
    More details about what triggers it? I installed .NET 4.6 on all x64 OS from Vista to 10 (which has it default), and my .NET 4.0 MTK ran without crashing.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    7,547
    23,981
    240
    ..........
     
  4. napalmguy

    napalmguy MDL Novice

    Aug 26, 2012
    15
    17
    0
    @CODYQX4
    .Net Framework 4.6 uses the new RyuJIT compiler to run apps regardless of their targeted versions. what this fix does is just enable the old compiler too.

    @abbodi1406
    I do not recommend disabling the RyuJIT as per the link you posted, I think it will break some app and features specific to Win 10.
     
  5. sevenacids

    sevenacids MDL Addicted

    Aug 17, 2012
    628
    186
    30
    #5 sevenacids, Aug 5, 2015
    Last edited: Aug 5, 2015
    Since the issue originates in the new RyuJIT compiler, it only affects .NET applications running in 64-bit. I don't know about MTK, but I guess it is JIT compiled and running in 32-bit by default. RyuJIT is only used to compile IL to x64 assembly, not x86, and the bug is that it doesn't emit some kind of instruction correctly in production code (with optimizations), therefore it was able to pass debug-mode tests undetected.

    EDIT: Disabling RyuJIT is actually not a fix but a workaround for the moment, so the thread title is a little misleading. The .NET team announced that there will be a real fix available soon. More info here.
     
  6. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    3,557
    3,777
    120
    @napalmguy: I for one am glad that you posted this. The .NET bug has caused many problems for Windows users and developers alike.

    Thanks for letting us know. :)

    :MJ
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...