Bug 14987

Summary: localized resource loading is overoptimized
Product: [Mono] Class Libraries Reporter: Stephen McConnel <stephen_mcconnel>
Component: SystemAssignee: Bugzilla <bugzilla>
Status: NEW ---    
Severity: normal CC: eb1, mono-bugs+mono
Priority: ---    
Version: 2.10.x   
Target Milestone: Untriaged   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:
Attachments: sample program that exposes bug in loading localized resources

Description Stephen McConnel 2013-09-25 11:49:58 UTC
Created attachment 4990 [details]
sample program that exposes bug in loading localized resources

In System.Resources.ResourceManager, the use of the static NonExistent Hashtable can prevent existing localized resources from being loaded.  If a nonlocalized resource is loaded, then subsequent attempts to load localized resources will always fail.  I'm attaching a simple program that exposes this bug.  The program works fine on VS2010, so I consider this a real bug in Mono.  :-(

The simplest fix would be to make the NonExistent Hashtable a member variable instead of static.  This loses most of the desired optimization when the culture truly has no localized resources, but still saves some time.
Comment 1 eb1 2014-03-14 13:06:17 UTC
Suggested fix in PR #956.
Comment 2 eb1 2014-03-17 10:52:56 UTC
Merged into master