Bug 13509

Summary: Stack overflow in CultureInfo crashes Xamarin Studio on launch
Product: [Mono] Class Libraries Reporter: Mikayla Hutchinson [MSFT] <mhutch>
Component: mscorlibAssignee: Marek Safar <masafa>
Status: RESOLVED FIXED    
Severity: critical CC: gouri.kumari, jonp, miguel, mono-bugs+mono, narayanp, pj.beaman, rolf
Priority: Highest    
Version: master   
Target Milestone: Untriaged   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:
Attachments: Crash log

Description Mikayla Hutchinson [MSFT] 2013-07-26 11:07:32 UTC
Created attachment 4453 [details]
Crash log

A stack overflow in CultureInfo crashes Xamarin Studio on launch.
Comment 2 Marek Safar 2013-07-26 13:57:08 UTC
Fixed in master and 3-2 branch
Comment 3 Mikayla Hutchinson [MSFT] 2013-07-29 13:38:19 UTC
This completely breaks the runtime when MacOS Region (no Language) is set to Taiwan. In addition, it has been reported against XA (see bug 13490).

Fix is https://github.com/mono/mono/commit/fc4074b399431e9c24d91419281fe9fcec7c285c

Bug was introduced in https://github.com/mono/mono/commit/2002e457787e92c444badb1b20ac6a141deee39a, the issue is that CultureInfo initialization for zh_TW depends on ordinal String.EndsWith, but ordinal String.EndsWith unnecessarily depends on CultureInfo.CurrentCulture, so if the CurrentCulture is zh_TW then there is a stack overflow.

Patch looks safe to hotfix.

We should also get it into XA and XI.
Comment 4 Mikayla Hutchinson [MSFT] 2013-07-29 13:38:26 UTC
*** Bug 13570 has been marked as a duplicate of this bug. ***
Comment 5 Mikayla Hutchinson [MSFT] 2013-07-29 14:47:02 UTC
This has been backported onto the Mono 3.2.1 branch and a hotfix release will be made shortly. 

Rolf, Jon, can we get this fix into XA and XI?
Comment 6 Miguel de Icaza [MSFT] 2013-07-29 14:53:52 UTC
This patch is triple-rainbow safe.
Comment 7 Jonathan Pryor 2013-07-29 15:09:56 UTC
monodroid/a93d13b7 includes this fix. The fix will be in Xamarin.Android 4.8.2.
Comment 8 Mikayla Hutchinson [MSFT] 2013-07-29 15:20:55 UTC
It would be nice to have some unit tests so we don't break this badly again.
Comment 9 Rolf Bjarne Kvinge [MSFT] 2013-07-29 17:34:44 UTC
monotouch/monotouch-6.4-series: 8edb80749727b763ad4026087e679a621c937d89 has the fix.

Not sure if it'll get into 6.4.1 or 6.4.2 though.
Comment 10 Marek Safar 2013-07-30 03:54:22 UTC
Added unit test for the fix
Comment 12 narayanp 2013-08-26 03:13:38 UTC
Today we have checked this issue with following builds

Mac Maverick 10.9
Lion 10.7.4
X.S 4.1.9(build 6)
Mono 3.2.2
X.Android 4.8.2-54
X.iOS 6.4.4.11

After changing the region language to Chinese(Taiwan) we are successfully able to create android and iOS application in X.S.