Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Friday, July 7, 2006 9:35 AM
I keep getting this error on my site. Any advice on how to fix this issue? I'm using the June CTP.
Error in: | http://www.mysite.com/atlasglob.axd |
---|---|
Error Message: | Culture name 'en_us' is not supported. Parameter name: name |
Referring Page: | http://www.mysite.com/content/support/FAQ.aspx |
Stack Trace: | at System.Globalization.CultureInfo.CreateSpecificCulture(String name) at Microsoft.Web.Globalization.AtlasCultureInfo.Create(String cultureName) at Microsoft.Web.Globalization.GlobalizationHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) |
All replies (32)
Sunday, July 16, 2006 2:08 AM
I have the same exact problem. I see this error using April CTP and the error still exists when I upgraded to June CTP.
Not only I see 'en_us' is not supported, I also see a lot of
<!--StartFragment --> Culture name 'rs1_e554ec67d1a' is not supported. Parameter name: name
I couldn't find any help on this. My site doesn't have any foreign language support either, so is this trying to tell me that I need to?
Thursday, July 20, 2006 10:25 AM
Will any MS rep comment on this? This is a huge problem and is causing AT THE LEAST 200 unhandled exceptions per day on our server.
Thursday, July 20, 2006 10:45 AM
My attempts to solve this problem have included setting the globalization in web.config as such...
<globalization uiCulture="en" culture="en-us" requestEncoding="utf-8" responseEncoding="utf-8" />
attempting to override the current thread's culture property and attempting to override the Culture property for the Request object. All of these have failed.
Come on guys, let's at least have a comment that you know the problem exists.
Thursday, July 20, 2006 10:19 PM
I'm also getting thousand of this exceptions every day... :(
Friday, July 21, 2006 3:50 AM
<globalization uiCulture="en" culture="en-us" requestEncoding="utf-8" responseEncoding="utf-8" />
Shouldn't it be en-US? i seem to recall having seen a classic ASP.NET globalization problem a long time ago which was caused by using us instead of US...
Saturday, July 22, 2006 5:44 PM
Same problem here, with a lot of different cultures.
Is there a solution to this problem?
Sunday, July 23, 2006 4:59 AM
Does this help any?
Culture name 'mt-mt' is not supported. Parameter name: name
Source: | mscorlib > System.ArgumentException > CreateSpecificCulture |
Filename: | http://www.mydomain.com/atlasglob.axd |
Stack Trace: | at System.Globalization.CultureInfo.CreateSpecificCulture(String name) at Microsoft.Web.Globalization.AtlasCultureInfo.Create(String cultureName) at Microsoft.Web.Globalization.GlobalizationHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) |
Culture name 'en_us' is not supported. Parameter name: name
Culture name 'rs1_8dd96e8ec14' is not supported. Parameter name: name
Culture name 'rs1_5110543227a' is not supported. Parameter name: name
Culture name 'mi-nz' is not supported. Parameter name: name
Culture name 'rs1_72ad19e9147' is not supported. Parameter name: name
Culture name 'zh_tw' is not supported. Parameter name: name
Culture name 'rs1_8419976a4ca' is not supported. Parameter name: name
Though not sure if it's related, not all but most of Culture name 'en_us' is not supported. Parameter name: name have
User Agent: | Opera/9.00 (Windows NT 5.1; U; en) |
Given that Opera is less than 0.1% of our user base but they show up quite often in this case.
And for Culture name 'us' is not supported. Parameter name: name
User Agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.3) Gecko/20060326 Firefox/1.5.0.3 (Debian-1.5.dfsg+1.5.0.3-2) |
And for Culture name 'rs1_*' is not supported. Parameter name: name
User Agent: | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) |
User Agent: | Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1; .NET CLR 1.0.3705) |
User Agent: | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; YPC 3.0.3) |
Tuesday, July 25, 2006 2:43 PM
Shouldn't it be en-US? i seem to recall having seen a classic ASP.NET globalization problem a long time ago which was caused by using us instead of US...
.NET will parse that correctly despite the case of the letters. Did some testing on that as well. Despite this fact, changing the culture in web.config did little to help. I even tried changing the language setting in the browser manually to en-us, which solved the exception about the cultures, but ATLAS then throws a series of javascript errors that I'm unable to track down, or find a workaround with.
I never thought I would be an open source advocate, but this could REALLY benifit from some community help.
Tuesday, July 25, 2006 2:57 PM
hello again.
hum...interesting...if you look in google, you'll see that several guys say they're different (maybe that changed in this version?). oh well, you got me curious...can you build a small site that reproduces that and send it to me?
Tuesday, July 25, 2006 9:17 PM
I'm running June CTP.
I can repro the bug easily on one of sites (http://www.thebearmill.com/thebearmillstore_bears.aspx).
Simply open IE6, Toosl, Internet Options, General, Languages.
Remove anything from there, add a user-defined 'asdf' or anything (I got this error for ru_ru on my site), go to the site and navigate.
If you try to click on add to cart, the error will be thrown server-side and you'll see a JavaScript error.
Exception occurred - http://www.thebearmill.com/atlasglob.axd
Exception: System.ArgumentException
Message: Culture name 'asdf' is not supported.
Parameter name: name
Source: mscorlib
at System.Globalization.CultureInfo.CreateSpecificCulture(String name)
at Microsoft.Web.Globalization.AtlasCultureInfo.Create(String cultureName)
at Microsoft.Web.Globalization.GlobalizationHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Wednesday, July 26, 2006 5:31 PM
My attempts to solve this problem have included setting the globalization in web.config as such...
<globalization uiCulture="en" culture="en-us" requestEncoding="utf-8" responseEncoding="utf-8" />
attempting to override the current thread's culture property and attempting to override the Culture property for the Request object. All of these have failed.
Come on guys, let's at least have a comment that you know the problem exists.
That's because this get's the culture info from the browser header...
I'm having this error since i added the section
<add verb="*" path="atlasglob.axd" type="Microsoft.Web.Globalization.GlobalizationHandler" validate="false"/>
Thursday, July 27, 2006 10:02 AM
hello guys.
i still think that this is related with using an invalid culture string.
btw, i think you can disable gloalization by setting the enablescriptglobalization property of the scriptmanager class to false...
Thursday, July 27, 2006 10:35 AM
Of course invalid culture strings should cause errors.
However, this brings up the following question:
What does ATLAS need globalization for?
Isn't just ATLAS a behavioural library? What behaviour changes when you change locales?
Jason
Thursday, July 27, 2006 11:02 AM
If ATLAS does indeed need globalization, and it does indeed need to throw some kind of error, then I would think that it would be more useful to throw a warning of some sort and then default to a language locale that wouldn't fail, taking down the application. If a user alters his browser settings to something custom which .NET doesnt agree with, it should definately catch this error and default to a safe setting.
Friday, July 28, 2006 4:18 AM
Hello guys.
well, if you look at the atlas javascript file, you'll see several places where localization is used. Just look for Sys.CultureInfo and you'll see what i mean. the atlasglobalization handler tries to get a Sys.Culture info that has the necessary info to the current culture.
btw, i've looked at the initial error, and the platform is correct: there is no en_us. It should be en-us! how is it getting that en_us thing?
Friday, July 28, 2006 4:05 PM
In my case, I noticed that only users with Opera/9.00 gives 'en-us' error. So I installed Opera 9 and for sure, I got the error. Atlas doesn't work in Opera 9.
Is it possible that Opera 9 browser passes 'en-us' while Atlas only recognizes 'en-US'? While other browsers pass 'en_US' work fine.
andrew_:
<
globalization uiCulture="en" culture="en-us" requestEncoding="utf-8" responseEncoding="utf-8" />
Luis Abreu:
Shouldn't it be en-US? i seem to recall having seen a classic ASP.NET globalization problem a long time ago which was caused by using us instead of US...
Saturday, July 29, 2006 7:42 AM
hello.
well, i've just tried creating a cultureinfo object and pass it en-us and it seems to work without any problem (though i really think that the correct string is en-US). Regarding this thread, you should node that the original error says that it's passing a en_us (nothe the underscore) which isn't really a valid culture. are you sure that opera is passing en-us? or is it passing en_us?
Monday, July 31, 2006 4:39 PM
Sorry for the confusion, that was a major typo. I meant "en_us" and not "en-us", underscore and not hyphen.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
Anyway, I made an empty atlas webapp:
http://38.101.169.95/default.aspx (calls a web service returns “Hello World”)
http://38.101.169.95/default2.aspx (an empty script manager)
http://38.101.169.95/ErrorLog.txt (I write HttpContext.Current.Server.GetLastError().GetBaseException() to this text file, with errors Culture name 'en_us' is not supported.)<o:p> </o:p>
Both of these work on IE and FireFox, but when using Opera 9, I get the following javascript error that includes JavaScript - http://38.101.169.95/atlasglob.axd Linked script not loaded. This problem causes the whole page unable to use Javascript, and of course, Atlas.
JavaScript - http://38.101.169.95/default.aspx
Inline script thread
Error:
name: TypeError
message: Statement on line 25: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 25 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghNU3WBmaCNx7V-W0WWPHF2g2&t=632870166220000000
w.HTMLElement.prototype.__defineGetter__("children", (function ()
{
var elementNodes = [];
var childCount = this.childNodes.length;
for (var i = 0;i < childCount;i++)
{
var childNode = this.childNodes[i];
if (childNode.nodeType == 1)
{
elementNodes.add(childNode);
}
}
return elementNodes;
}
));
w.HTMLElement.prototype.__defineGetter__("innerText", (function ()
{
return this.textContent;
}
));
Line 92 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghNU3WBmaCNx7V-W0WWPHF2g2&t=632870166220000000
_loadMozillaCompatLayer(window);
JavaScript - http://38.101.169.95/atlasglob.axd
Linked script not loaded
JavaScript - http://38.101.169.95/default.aspx
Event thread: load
Error:
name: TypeError
message: Statement on line 455: Could not convert undefined or null to object
Backtrace:
Line 455 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghf7DMx5_wA-Q1&t=632870166220000000
var scriptDOM = new XMLDOM(scriptMarkup);
var scriptDocumentNode = scriptDOM.childNodes[0];
scripts.add(scriptDocumentNode);
Line 504 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghf7DMx5_wA-Q1&t=632870166220000000
Sys.Runtime.load.remove(onRuntimeLoad);
Sys.MarkupParser.processDocument(_markupContext, onLoaded);
Line 243 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghf7DMx5_wA-Q1&t=632870166220000000
for (i = 0;i < handlers.length;i++)
Line 263 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghf7DMx5_wA-Q1&t=632870166220000000
if (_initialized == false)
Line 268 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghf7DMx5_wA-Q1&t=632870166220000000
Sys.Runtime.initialize();
Line 16 of linked script http://38.101.169.95/WebResource.axd?d=Bht-lwqvmfjldSfYDM5-qKNfp0213N7ob0r9V8JJda7eb8gKfw8y9BzcQsyPXQFeSRpjo1niStQgH2MAll0hBx15VCMLzxghNU3WBmaCNx7V-W0WWPHF2g2&t=632870166220000000
window.event = e;
eventHandler();
return e.returnValue;
At unknown location
[statement source code not available]
http://38.101.169.95/Atlasglobaxd.rar (my source files)
Monday, July 31, 2006 4:46 PM
hello.
hum...if i recall correctly, atlasglob.axd injects the current culture on the page. i'm downloading your sample to see if i can get it to work (though i really think i won't be able to do anything about it). btw, are you using any globalization features? if not, i think that disablling it through the scriptmanager will make the problem go away (without solving it).
btw, any specific configuration needed to reproduce this with opera? (i'm downloading it now)
Monday, July 31, 2006 5:31 PM
Thanks for taking a look at it.
I didn't do anything special, just downloaded Opera 9 and was able to reproduce this error immediately on my site.
Any problem if I disable the globalization features? Quite a few foreign-language users visit the site (where I get 'zh' is not supported, 'mi-nz' is not supported and a bunch of 'rs1_*' is not supported), would that affect them?
Thanks again!
Monday, July 31, 2006 5:46 PM
hello.
though i'm no globalization guru, i think that this depends on the code you're using. if i recall correctly, only the localeXXX methods use that info (ex.: string.localeformat). if you look at the source file, you'll note that there's a sys.cultureinfo object introduced by default (en-us). when you use the atlas globalization handler, it tries to override that object with the current culture. you're getting the error because the brwoser is sending invalid cultures (in .net, the culture must be called en-us; not en_us. I was under the impression that using the globalization element would solve this, but it seems like it doesn't - i'll try to investigate what's going on and if i find anything i'll post back).
Wednesday, August 9, 2006 4:47 AM
But why so many culture could not be supported, it should be a bug of ATLAS!
Who has a efficient method to solve this problem?
Wednesday, August 9, 2006 4:03 PM
hello.
well, it's not an atlas bug. in fact, if you use globalization on an asp.net site, I think you'll have the same problems. the problem is that opera is sending en_us instead of the en-us (and I really think that en-us is the correct option, though I may be wrong...)
Wednesday, August 9, 2006 11:40 PM
But the file atlasglob.axd also throw this kind exception when I using Chinese Version Internet Explorer not use opera, Is it a bug of Internet Explorer to send wrong culture string ?
Thursday, August 10, 2006 5:41 PM
hello again.
well, check the string that is being passed and see if it has a valid value.
Friday, August 25, 2006 8:46 PM
Yes, that is happening on my site too. IE throws errors on other languages but works fine when it comes to English. I get lots of:
Culture name 'zh' is not supported. Parameter name: name
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Culture name 'rs1_3966f6badce' is not supported. Parameter name: name
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; 55SP1D11262000R5; YPC 3.0.1; SV1; .NET CLR 1.0.3705; yplus 4.1.00b)
Culture name 'ie-ee' is not supported. Parameter name: name
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Mozilla is no exception either.
Months passed and still no answer. This is really frustrating.
Saturday, August 26, 2006 6:31 PM
hello agian.
well, but what kind of culture is rs1_39....? I mean, the atlasglob could be changed so that i catches the exception...but i do really think that the name of the culture is wrong (btw, what culture does it represent?). as i said in previous posts, atlas uses .NET culture classes to build the jscript object which is passed along to the client. if you really do think that the culture is correct (which i really doubt), then you can build your own handler which mimics the default behavior of the atlasglob.axd handler but returns the correct result(use reflector to get a feeling for the internal code used by the default atlas globalization handler).
Wednesday, August 30, 2006 2:13 PM
hello agian.
well, but what kind of culture is rs1_39....? I mean, the atlasglob could be changed so that i catches the exception...but i do really think that the name of the culture is wrong (btw, what culture does it represent?). as i said in previous posts, atlas uses .NET culture classes to build the jscript object which is passed along to the client. if you really do think that the culture is correct (which i really doubt), then you can build your own handler which mimics the default behavior of the atlasglob.axd handler but returns the correct result(use reflector to get a feeling for the internal code used by the default atlas globalization handler).
Let's not only talk about the rs1..... cultures, which I don't know what is it either. Let's consider other ones we talked about, such as zh, zh-hk, zh-tw (Chinese), zu (Zulu), nb (Norwegian), and last but not least en_us (English!). All these exist yet atlas throws exceptions.
I don't want to build a handler. This shouldn't even be happening. Say even if the culture that the user's browser pass in isn't correct, shouldn't atlas just continue to work?
Thursday, September 7, 2006 1:55 AM
hello.
hum...if i recall correctly, atlasglob.axd injects the current culture on the page. i'm downloading your sample to see if i can get it to work (though i really think i won't be able to do anything about it). btw, are you using any globalization features? if not, i think that disablling it through the scriptmanager will make the problem go away (without solving it).
btw, any specific configuration needed to reproduce this with opera? (i'm downloading it now)
Thanks your this reply, I have resolved this problem by adding a property EnableScriptGlobalization="false" to ScriptManager!
Thursday, September 7, 2006 6:49 PM
hello again...as you've noted i've completly forgot to answer...after using opera, i've notice that it's sending stange combinations for the current culture (en_us instead of en-us). i was under the impression that en-us is correct. am i wrong?
Monday, September 25, 2006 7:20 PM
It is very likely that doing your testing you enabled the personalization for grasping the user preferences, in that case I would check if you do not have a wrong Culture definition stored there i.e. "en-UK" instead of "en-GB"....
Try to force in your InitializeCulture method something like LanguagePreference = "en-GB" just before the
this.Culture = LanguagePreference;
this.UICulture= LanguagePreference;
it should work, then force a change in the Culture so that the right value gets stored in the personalization database....
Doing a rapid checking in the watch window while breaking one step before the assignment you will be able to see what you are trying to push there... it is likely crappy :-)
Hope it helps
TRocca
Tuesday, September 26, 2006 2:06 PM
hello.
well, i really don't think this is the case. what's happening here is that the browser is sending the wrong culture string (well, at least that's what i think) and that is breaking the atlas globalization handler.