harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [classlib]remove the duplicate locale data
Date Fri, 09 Nov 2007 09:30:04 GMT
Hi Vladimir
really busy this weekend. I've recorded it as JIRA 5100, high
appreciate if you could provide a simple testcase.

On 11/7/07, Vladimir Strigun <vstrigun@gmail.com> wrote:
> Hi Tony,
>
> It seems your commit r592434 introduce regression for Dacapo.jython
> (the bench passed on r592433). Here is the execution log:
> ===== DaCapo jython starting =====
> -------------------------------------------------------------------------------
> PYBENCH 2.0
> -------------------------------------------------------------------------------
> * using Python 2.2a1
> * Python version doesn't support garbage collection
> * system check interval set to maximum: 2147483647
> * using timer: time.time
>
> Traceback (innermost last):
>  File ".\scratch\jython\pybench\pybench.py", line 946, in ?
>  File "Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py", line
> 346, in __init__
>  File ".\scratch\jython\pybench\pybench.py", line 903, in main
>  File ".\scratch\jython\pybench\pybench.py", line 425, in __init__
> java.lang.IllegalArgumentException: Cannot create PyString from null!
>        at org.python.core.PyString.<init>(Unknown Source)
>        at org.python.modules.time.classDictInit(Unknown Source)
>        at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
>        at java.lang.reflect.Method.invoke(Method.java:317)
>        at org.python.core.PyJavaClass.initialize(Unknown Source)
>        at org.python.core.PyJavaClass.lookupGivingClass(Unknown Source)
>        at org.python.core.PyClass.lookup(Unknown Source)
>        at org.python.core.PyJavaClass.__findattr__(Unknown Source)
>        at org.python.core.PyObject.__getattr__(Unknown Source)
>        at org.python.pycode._pyx1.__init__$14(.\scratch\jython\pybench\pybench.py:425)
>        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyFunction.__call__(Unknown Source)
>        at org.python.core.PyInstance.__init__(Unknown Source)
>        at org.python.core.PyClass.__call__(Unknown Source)
>        at org.python.pycode._pyx1.main$25(.\scratch\jython\pybench\pybench.py:903)
>        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyFunction.__call__(Unknown Source)
>        at org.python.core.PyMethod.__call__(Unknown Source)
>        at org.python.core.PyObject.__call__(Unknown Source)
>        at CommandLine$py.__init__$15(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py:346)
>        at CommandLine$py.call_function(Z:\UBS\Storage\.\scratch\jython\pybench\CommandLine.py)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyFunction.__call__(Unknown Source)
>        at org.python.core.PyInstance.__init__(Unknown Source)
>        at org.python.core.PyClass.__call__(Unknown Source)
>        at org.python.core.PyObject.__call__(Unknown Source)
>        at org.python.pycode._pyx1.f$0(.\scratch\jython\pybench\pybench.py:946)
>        at org.python.pycode._pyx1.call_function(.\scratch\jython\pybench\pybench.py)
>        at org.python.core.PyTableCode.call(Unknown Source)
>        at org.python.core.PyCode.call(Unknown Source)
>        at org.python.core.Py.runCode(Unknown Source)
>        at org.python.core.__builtin__.execfile_flags(Unknown Source)
>        at org.python.util.PythonInterpreter.execfile(Unknown Source)
>        at org.python.util.jython.main(Unknown Source)
>        at dacapo.jython.JythonHarness.iterate(JythonHarness.java:38)
>        at dacapo.Benchmark.run(Benchmark.java:126)
>        at dacapo.TestHarness.runBenchmark(TestHarness.java:302)
>        at dacapo.TestHarness.main(TestHarness.java:242)
>        at Harness.main(Harness.java:5)
>        at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
>        at java.lang.reflect.Method.invoke(Method.java:317)
>        at org.apache.harmony.vm.JarRunner.main(JarRunner.java:80)
>
>
> java.lang.IllegalArgumentException:
> java.lang.IllegalArgumentException: Cannot create PyString from null!
>
>
> Thanks.
> Vladimir.
>
> On 11/6/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > I've committed the patch at r592434.
> > the excluded classes are,
> >
> > tests.api.java.util.CurrencyTest
> > tests.api.java.util.FormatterTest
> > tests.api.java.util.GregorianCalendarTest
> > tests.api.java.util.LocaleTest
> > tests.api.java.util.ScannerTest
> >
> > org.apache.harmony.text.tests.java.text.DecimalFormatSymbolsTest
> > org.apache.harmony.text.tests.java.text.NumberFormatTest
> > org.apache.harmony.text.tests.java.text.SimpleDateFormatTest
> >
> > pls kindly let me know if you find any problem, thanks.
> >
> > On 11/6/07, Tony Wu <wuyuehao@gmail.com> wrote:
> > > On 11/6/07, Tim Ellison <t.p.ellison@gmail.com> wrote:
> > > > Tony Wu wrote:
> > > > > I've raised a JIRA[1] for migrating the dependencies of locale related
> > > > > data to icu4j and remove the data in
> > > > > luni/src/main/java/org/apache/harmony/luni/internal/locale/. Currently
> > > > > I have delegated all the locale related classes to corresponding
> > > > > classes in icu4j and successfully removed the dependencies of harmony
> > > > > resource bundles.
> > > >
> > > > Cool -- this is good because it removes the code duplication we have at
> > > > present, it shifts the maintenance of the locale data into the right
> > > > place (IMHO) that being the ICU project, and gives us the opportunity
to
> > > > use the ICU tools to customize/refresh/etc the data for Harmony each
> > > > time the USA decide to introduce another daylight savings change ;-)
> > >
> > > exactly.
> > > >
> > > > > As expected, there are around 20 failures of harmony test. Many of
> > > > > them are caused by data difference. I've listed all of them on harmony
> > > > > wiki[2] and will raise them to icu soon.
> > > >
> > > > Ack.  I believe that (pretty much) everyone gets the data from the CLDR,
> > > > so I would expect any differences to be tests that have out of date
> > > > assumptions about the data.
> > >
> > > Yes, I'll check it based on CLDR.
> > > >
> > > > > By applying this patch, we can get 4.2 mega bytes decrease in harmony
> > > > > source code, including the svn data.
> > > >
> > > > ooh, say that again!  Removing 4.2Mb of redundant source code is excellent.
> > > >
> > > > > My proposal is to apply the patch on 5061 first and exclude these
> > > > > tests which fail on different locale data. Then I'll take follow
up
> > > > > action to contact icu team and get solution to move them out.
> > > > > Otherwise I'm afraid my fix will be outdated for waiting until icu
> > > > > team get ready to fix the data. Do you have any objection?
> > > > >
> > > > > Later, I'll take care of the performance issue of this delegation.
> > > > >
> > > > > Thanks in advance for your comments
> > > >
> > > > Sounds like a good plan.
> > > >
> > > > Regards,
> > > > Tim
> > > >
> > >
> > >
> > > --
> > > Tony Wu
> > > China Software Development Lab, IBM
> > >
> >
> >
> > --
> > Tony Wu
> > China Software Development Lab, IBM
> >
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message