Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 74495 invoked from network); 27 Sep 2010 02:27:07 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Sep 2010 02:27:07 -0000 Received: (qmail 18537 invoked by uid 500); 27 Sep 2010 02:27:07 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 18478 invoked by uid 500); 27 Sep 2010 02:27:06 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 18469 invoked by uid 99); 27 Sep 2010 02:27:06 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 02:27:06 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of devyoudw@gmail.com designates 209.85.213.49 as permitted sender) Received: from [209.85.213.49] (HELO mail-yw0-f49.google.com) (209.85.213.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 02:27:00 +0000 Received: by ywi4 with SMTP id 4so1895601ywi.36 for ; Sun, 26 Sep 2010 19:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=2iB7fSunW5W4DpvTK1TUwWvEwgSioUNHd5Z7lnLHHeE=; b=Tg9hAT2XZBHghvYkeGKe41Ayllc+AFNuIER7ByRVYJNyP1uZVBwAVc9gVsLZRix9LU yj2E5NBrgPvrRyye2qILrKOrPEYjPKqiIQn7xUOtjhn9PJRpfj39S8fqv7zzTUl4jeAT pnT9FUMUy1PF84uM+qtJN89efb/KailutcCLA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=GCjRUE4CZSjvA1GWlyhJbMg+epuBMd6M+eMFbREqO16ghijtNVCbQEQ63LfyXxw2Fd YAdD52nyedF7pwnGjcsVtGBz2eXkTQ1t64goJ8h6GwtCoDIM2WQBWYsfslDeMjvovyHo HC5TyHAsJS0lzsbWJWkdhoToq4PbogaAp39lM= MIME-Version: 1.0 Received: by 10.90.51.20 with SMTP id y20mr4998440agy.147.1285554399324; Sun, 26 Sep 2010 19:26:39 -0700 (PDT) Received: by 10.100.211.7 with HTTP; Sun, 26 Sep 2010 19:26:38 -0700 (PDT) In-Reply-To: <4C9F963E.2040204@gmail.com> References: <16508996.357041285200633873.JavaMail.jira@thor> <4C9ABC65.6000202@gmail.com> <4C9C0E0B.6080703@gmail.com> <4C9C24C1.6030809@gmail.com> <4C9C31BD.2010504@gmail.com> <4C9C3BFC.2090107@gmail.com> <4C9C44ED.6040506@gmail.com> <4C9CC0C7.5030707@gmail.com> <4C9CD1ED.30604@gmail.com> <4C9F963E.2040204@gmail.com> Date: Mon, 27 Sep 2010 10:26:38 +0800 Message-ID: Subject: Re: [classlib][luni] String.toLowerCase/toUpperCase incorrect for supplementary characters (HARMONY-6649) From: Deven You To: dev@harmony.apache.org Content-Type: multipart/alternative; boundary=00163630f2b94fac480491347558 --00163630f2b94fac480491347558 Content-Type: text/plain; charset=ISO-8859-1 I have tested this patch on my local machine, Ubuntu10.04 x86. It works well. 2010/9/27 Tim Ellison > On 24/Sep/2010 17:51, Deven You wrote: > > Here is the result of Specjbb > > I don't have a copy of Specjbb to try, so sorry it broke that. I think > I can set up a harmony unit test to emulate the problem here once we > have an acceptable solution. > > Snipped stack trace follows... > > java.util.Locale (initialization failure) > > Caused by: java.lang.NullPointerException > > at com.ibm.icu.util.ULocale.getName(ULocale.java:827) > > at com.ibm.icu.util.ULocale.(ULocale.java:480) > > at java.util.Locale.(Locale.java:234) > > at com.ibm.icu.util.ULocale.(ULocale.java:109) > > at com.ibm.icu.util.TimeZone.getTimeZone(TimeZone.java:617) > > at java.util.SimpleTimeZone.getICUTimeZone(SimpleTimeZone.java:48) > > at java.util.SimpleTimeZone.(SimpleTimeZone.java:110) > > at java.util.TimeZone.(TimeZone.java:91) > > > I have marked several important stack invocations as red and bold. > > Sorry, the red and bold were lost for me, however, I've gone through and > trimmed down the stack aggressively to show the key parts. > > > From above stack trace, Class load process will invoke security > > methods which will use TimeZone and TimeZone will finally depend on > > ULocale. > > > > I think if our harmony apis need Locale TimeZone info, it always depends > on > > icu's ULocale, TimeZone and etc. It can not be avoided during Java > startup. > > Well in this case, yes we do need a TimeZone as part of the certificate > decoding, but in general we might not need Locale info, so I'm reluctant > to force a j.u.Locale load too early e.g. by a reference from String. > > The 'correct' fix is to change the ICU code to load Locale earlier, I > guess they don't expect to be early on the boot sequence. Given we > can't/don't want to modify ICU for our needs here, I've added (r1001490) > a reference to Locale during the TimeZone definition to force the load. > Please can you check that fixes the problem you see on Specjbb? > > There may be other cases that need us to initialize ICU, and I'll look > for them. If you have any better ideas of how to get the ordering right > please say. > > Regards, > Tim > > --00163630f2b94fac480491347558--