-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
FileNotFoundException w/ ku-TR.UTF-8 #37778
Comments
I couldn't figure out the best area label to add to this issue. Please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @vitek-karas, @swaroop-sridhar |
Tagging subscribers to this area: @vitek-karas |
This is very likely the same issue as #37910 which has some more details on possible fixes. |
Yes it is the same one. Let me participate in #37910. Thank you. |
Description
Locale change to/from ku-TR.UTF-8 creates
FileNotFoundException
for TPA when .NET application has ability to detect and update the locale according to the system locale changes.It's because in some languages like Turkish,
i
is not converted intoI
fortoupper()
call.https://blog.codinghorror.com/whats-wrong-with-turkey/
Checking for all possible locale in a Tizen device, 16 cases are found.
The related code is here.
runtime/src/coreclr/src/binder/inc/applicationcontext.hpp
Lines 37 to 49 in bbd945e
runtime/src/coreclr/src/inc/utilcode.h
Lines 2931 to 2940 in 77a3832
The hash function for TPA lookup uses
towupper()
which is not recommanded to use for unicode characters.https://www.man7.org/linux/man-pages/man3/towupper.3.html#NOTES
Could it be fixed to use
HashString()
for TPA lookup or is there a reason for using case insensitive hash function?The text was updated successfully, but these errors were encountered: