In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
The purpose of this article is to share with you about the serious Bug found in the RyuJIT compiler of .NET 4.6. the editor thinks it is very practical, so I share it with you. I hope you can get something after reading this article.
Nick Craver and Marc Gravell, developers from Stack Exchange, found a serious bug,.NET 4.6 installed with Visual Studio 2015 in the RyuJIT compiler introduced in .NET 4.6.It is also pre-installed with the Windows 10 operating system. Craver and Gravell have submitted a detailed description of this bug, and they have traced the root cause of the problem to a problem when RyuJIT handles tail call optimizations. The result of this problem is ". The method we called did not get the parameters passed in, and as they said, if the variables affected by this problem were originally used to handle important values, it would have serious consequences.
Matt Mitchell from Microsoft responded to the discovery by submitting a patch (via pull request) to fix the problem. Interestingly, it was found that the problem had been fixed, but was withdrawn by another Microsoft developer on July 24. Craver points out that the existence of this bug is not so easy to detect immediately because of the following reasons:
This problem occurs only after code optimization has been applied, and since most developers and projects are developed in DEBUG mode, it is not visible in the local environment.
This also means that you can only find it in RELEASE mode, which for most people means that it only exists in a production environment.
Once a debugger is attached to a process, it changes its behavior, which makes the problem almost completely invisible.
If you add a sentence Debug.WriteLine () to your code, you will probably fix this problem because the way the last call is called has changed.
There is an important hint: even if Microsoft has accepted this patch in the GitHub code base, it does not mean that the problem is over. For users who have installed. NET 4. 6, Microsoft must provide them with a new binary package. Craver recommends that if developers have not yet deployed .NET 4.6 in a production environment, wait patiently for the patched installation package to appear. And if you have installed. NET 4.6 (regardless of the environment), Craver recommends that you close RyuJIT immediately and use some proof-of-concept code to tell the developer how to do it. There is also an important hint that because this issue affects the RyuJIT compiler, it also affects those .NET runtimes that are targeted for earlier versions.
Microsoft's response (updated on July 28, 2015)
Rich Lander from Microsoft made a formal response to the reports of Craver and Gravell, in which he mentioned that the bug will only affect 64-bit processes, not 32-bit processes. Although Lander says his team doesn't think the problem will be exploited at this time, they will submit the fix code to the release process.
In Lander's note, he also recommends turning off RyuJIT in an environment that uses .NET Framework 4.6 until the fix pack is available. However, considering that fault detection is not waiting, it is best to first study whether this bug does have an impact on your actual situation, because if there is any abnormal behavior in your application, it may be caused by something else.
According to Lander, F# developers are most likely to encounter problems caused by this bug, so they should try to avoid installing .NET 4.6 Lander. This article shows how to reproduce the sample code of C# and F#. Microsoft has not yet specified the release date of the patch.
This is how serious Bug is found in the RyuJIT compiler of .NET 4.6. the editor believes that there are some knowledge points that we may see or use in our daily work. I hope you can learn more from this article. For more details, please follow the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.