New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dotnet tool broken with 3.0-preview4 on openSUSE Tumbleweed #29344
Comments
@ismail this issue doesn't seem specific for preview 4 as I believe it should repro on the previous versions too (including 2.2 and 2.1). If you want to work around it, change the locale to something different than C locale (something like en_US). meanwhile we'll work on fixing the issue. |
@ismail I wondering about how did you get the ICU installed on the machine you are using? I am asking because what I am seeing is the problem in the ICU and not in the .NET. ICU reporting missing resources error. so, did you manually built or installed ICU? or you just got it with the image you are using? |
@tarekgh This is a normal desktop system with openSUSE Tumbleweed installed, all the packages are from default openSUSE repositories, except dotnet core, which I installed from official binary tarball. I see the following data files are installed:
What data exactly is missing? |
I sent some of this via IM but might as well include it here for context. My original command didn't repro:
but adding C locale does repro:
This also uses default openSUSE repos--basically the exact same scenario. It appears the ICU package for openSUSE is maintained somewhere around here: |
Well this seems to be a general ICU bug, see https://github.com/dotnet/corefx/issues/35717 |
True that there may be other issues lurking based on that bug, but the Tumbleweed ICU build does work worse than Leap 15.0's. The above reproing Docker command no longer repros if I replace Tumbleweed installs:
Leap 15.0 installs:
|
Tumbleweed has basically new everything: new glibc, kernel, icu ... What would be really helpful is a C#/C++ reproducer, so we can go debug what's going wrong. |
Looks ICU issue is tracked here https://unicode-org.atlassian.net/browse/ICU-20558 |
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558
Thanks @ismail for reporting this issue. I have submitted a PR which I think the fix will show up in preview 6. meanwhile, there is a work around by setting LANG to some other locale than C. |
Thanks a lot for tracking this down! |
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Fixes https://github.com/dotnet/corefx/issues/37098 .NET Core depends on ICU when running on Linux/OSX. Recently some people raised some failure on the framework stack. After investigation we found a regression in ICU which is the root cause of this failure. The regression is, when calling ICU to get some date patterns/properties, in some cases ICU return error code U_MISSING_RESOURCE_ERROR. Although the framework code written to fallback to some invariant values at that time, but we had some wrong line of code which assumed we never fail and trying to access the returned value without checking. That cause the framework to throw NullReferenceException. The fix here is to make the framework resilient against such cases and continue to run nicely. I have contact ICU support members and I learned there is similar issue tracked in ICU repo https://unicode-org.atlassian.net/browse/ICU-20558 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
@ismail commented on Mon Apr 22 2019
This works with preview3, hence it's a regression:
Looking at the backtrace, this might be due to ICU, here is the details of ICU packages installed:
@karelz commented on Mon Apr 22 2019
@tarekgh @dagood can you please help route it? Is it a known problem?
@tarekgh commented on Mon Apr 22 2019
I'll try to look. Is there any more data here can help? like debugger dump or more info about the running environment (e.g. what is the locale on the failed machine)?
@dagood if we have a machine or image I can use to check that would be helpful if you point me to that. thanks.
CC @krwq
@dagood commented on Mon Apr 22 2019
No repro with a from scratch install from tarball on a
opensuse/tumbleweed
container. 😕I think it's reasonable to try to repro on that base container if we can get more info, though.
@ismail commented on Mon Apr 22 2019
Locale is C.UTF-8, if you need more information you have to let me know :-)
@dagood commented on Mon Apr 22 2019
Apologies, I see now that looks pretty passive aggressive. I was just expressing my hope that @tarekgh can think of more things to ask about to get to the bottom of this. 🙂 I don't know enough about this area to know what other stuff to gather.
@tarekgh commented on Mon Apr 22 2019
@ismail @dagood what you have sent both is very useful. I'll try to look more here. Thanks for your help.
@tarekgh commented on Mon Apr 22 2019
I can repro this now.
The text was updated successfully, but these errors were encountered: