.NET Core 2.1 broke my software, thank you very much!
We just upgraded our stable branch to .NET Core 2.1. The process was pretty smooth overall, but we did get the following exchange in our internal Slack channel.
It went something like this:
- is it known that import doesn't work ?
- As you can imagine, Import is pretty important for us.
- no
- does it work on your machine ?
- checking,,,
- what's an error?
- no error.
- so UI is blocked?
- do you have any errors in dev tools console?
- `TypeError: e is undefined`
doesn't says to me much - same thing in incognito
- export doesn't work either
- lol the reason is: dotnet core 2.1
the websockets are faster and I had race in code
will push fix shortly
There you have it, .NET Core 2.1 broke our code. Now I have to go and add Thread.Sleep somewhere…
Comments
That slack conversation is great. LOL! Though if the code is async, you would want Task.Delay.
If you are running on SkylakeX CPUs (Intel delivers them since mid 2017) then the changes related the CPU spinning might also play a role here. With .NET Core 2.1 lock spinning has been reworked to become CPU independant. I will put up a more detailed post once I have all data I need to present the full picture. Pretty fascinating stuff how Intel did break us and .NET code on latest CPUs.
Alois, Yes, it is this guy: https://github.com/dotnet/coreclr/issues/13388 We had to do some work around that in previous version explicitly.
Jedak, I wasn't serious when I talked about 'Thread.Sleep'
Post about CPU Spinning is up now: https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/
Comment preview