Re: [drlvm][unit] 100% of class library tests pass
Alexei Fedotov wrote: Folks, According to http://harmonytest.org, today 100% of class library unit tests pass on DRLVM. Thank you all! It takes 44 days for the great team we are. Awesome! -- Paulex Yang China Software Development Lab IBM
Re: [classlib][sound] Volunteer to implement missing & bad APIs in javax.sound.sampled
Boris Kuznetsov wrote: ok, let's figure out how many things left. AudioSystem class and some "not yet implemented" methods like this: public final String toString() { throw new Error("not yet implemented"); } As someone discussing on the other thread about JAPI, how about use "NotImplementedException" instead of Error with "not yet implemented" messages? so that JAPI can identify them and can create reports more precisely. -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony classlib with J9 VM passes all the tests provided by JUnit4.1
Nathan Beyer wrote: On 11/6/06, Paulex Yang <[EMAIL PROTECTED]> wrote: Geir Magnusson Jr. wrote: > > > Paulex Yang wrote: >> Geir Magnusson Jr. wrote: >>> did we decide not to go to TestNG? >> Sigh...I guess there must be too many ones have waited too long for >> TestNG...(including me) > > I don't understand - what do you mean? Nothing but a joke:). I mean, the TestNG depends on j.u.c, so that it cannot be used for months, so people may think let's just use JUnit instead... Ignore it, I'm all for TestNG...:) If you're looking for another opinion, I'm not convinced. JUnit 4.x seems just as capable as TestNG. There was a(or several?) long long thread discussing the TestNG/JUnit 4 comparison, and IIRC most people prefer TestNG at that time, I just don't want to trig another thread on this topic...We have waited so long for TestNG, so let's just go for it if nothing is preventing us now...:) -Nathan > > geir > >> >> Paulex - being desperate >> > -- Paulex Yang China Software Development Lab IBM -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony classlib with J9 VM passes all the tests provided by JUnit4.1
Richard Liang wrote: On 11/7/06, Nathan Beyer <[EMAIL PROTECTED]> wrote: On 11/6/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: > > > Paulex Yang wrote: > > Geir Magnusson Jr. wrote: > >> > >> > >> Paulex Yang wrote: > >>> Geir Magnusson Jr. wrote: > >>>> did we decide not to go to TestNG? > >>> Sigh...I guess there must be too many ones have waited too long for > >>> TestNG...(including me) > >> > >> I don't understand - what do you mean? > > Nothing but a joke:). I mean, the TestNG depends on j.u.c, so that it > > cannot be used for months, so people may think let's just use JUnit > > instead... > > > > What's left for j.u.c? I lost track of that Saga, IIRC. I believe we're down to agreeing to the Objects/Threads classes [1] in luni-kernel and getting them implemented in DRLVM and the donated IBM VM. I believe the Unsafe class needs to be re-implemented with these interfaces, but that may already be done. Yes, I just run testNG successfully by appending suncompat.jar and luni-kernel-stubs.jar to bootclasspath ;-) So you mean we can start the TestNG migration work at any time? -Nathan [1] http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni-kernel/src/main/java/org/apache/harmony/kernel/vm/ > > > Ignore it, I'm all for TestNG...:) > >> > >> geir > >> > >>> > >>> Paulex - being desperate > >>> > >> > > > > > > -- Paulex Yang China Software Development Lab IBM
Re: [general] Interesting discoveries playing around with japitools
Stefano Mazzocchi wrote: Paulex Yang wrote: Gets more interesting with IBM: -- ibm1.5 vs. sun1.5 Total: 99.77% good, 0% bad, 0.22% missing java.lang: Missing method java.lang.StringBuilder.append(java.lang.StringBuilder): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.capacity(): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.charAt(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointAt(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointBefore(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointCount(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.ensureCapacity(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.getChars(int, int, char[], int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.length(): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.offsetByCodePoints(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.setCharAt(int, char): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.setLength(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.subSequence(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.substring(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.substring(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.trimToSize(): missing in /home/stefano/data/japi/sun1.5 It IS more interesting, because there methods are included in Java 5 API Doc (except the first one)!...there may be some problem happened to JAPI or the Sun JDK' rt.jar...;-) Paulex, good catch! It might well be a japitools bug, then. I did look into the javadoc and stopped after I realized that the first method wasn't there... but I should have continued. Anyway, even a single method should be enough to trigger a TCK reaction (since this is clearly against Sun WORA policies). Indeed. -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony classlib with J9 VM passes all the tests provided by JUnit4.1
Geir Magnusson Jr. wrote: Paulex Yang wrote: Geir Magnusson Jr. wrote: did we decide not to go to TestNG? Sigh...I guess there must be too many ones have waited too long for TestNG...(including me) I don't understand - what do you mean? Nothing but a joke:). I mean, the TestNG depends on j.u.c, so that it cannot be used for months, so people may think let's just use JUnit instead... Ignore it, I'm all for TestNG...:) geir Paulex - being desperate -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony classlib with J9 VM passes all the tests provided by JUnit4.1
Geir Magnusson Jr. wrote: did we decide not to go to TestNG? Sigh...I guess there must be too many ones have waited too long for TestNG...(including me) Paulex - being desperate Leo Li wrote: Ya, I think we can. I would like the new features in JUnit4, but it is written in a quite different style from current harmony test codes. Migrate them? Besides, it is related with the thread of JUnit best practice discussing now. We need to make a decision since we can merge the task of migration with the action to enforce JUnit best practice.:) On 11/4/06, Nathan Beyer <[EMAIL PROTECTED]> wrote: Assuming we get this functioning, does this mean we can use JUnit 4 testing? -Nathan On 11/3/06, Leo Li <[EMAIL PROTECTED]> wrote: > Hi, all > I have just tested JUnit4.1 on Harmony. > With J9 VM, harmony passes both on windows xp2 and redhat enterprise > 4.0. While drlvm fails on linux, which fails to create new thread becauseof > out-of-memory-error. Since it can always be reproduced, I think actually > system doesnot lack memory at the time. So I reported it as an > application-oriented bugs as JIRA [1]. > Besides I have got the time used in these tests which shows there is > space for us to improve our performance. > > > > VM > > Windows xp2 > > Redhat Enterprise4 > > RI > > 0.985+0.921 > > 0.75+0.717 > > J9 > > 4.25+2.61 > > 2.888+2.897 > > drlvm > > 8.437+5.359 > > / > > *The former data represents the time to run junit.tests.AllTests The latter, > junit.samples.AllTests. > For detailed information, including how to run tests, I have posted it > on Harmony wiki[2]. > > > > [1]http://issues.apache.org/jira/browse/HARMONY-2060 > [2]http://wiki.apache.org/harmony/JUnit > -- > Leo Li > China Software Development Lab, IBM > > -- Paulex Yang China Software Development Lab IBM
Re: [general] Interesting discoveries playing around with japitools
Gets more interesting with IBM: -- ibm1.5 vs. sun1.5 Total: 99.77% good, 0% bad, 0.22% missing java.lang: Missing method java.lang.StringBuilder.append(java.lang.StringBuilder): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.capacity(): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.charAt(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointAt(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointBefore(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.codePointCount(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.ensureCapacity(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.getChars(int, int, char[], int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.length(): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.offsetByCodePoints(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.setCharAt(int, char): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.setLength(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.subSequence(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.substring(int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.substring(int, int): missing in /home/stefano/data/japi/sun1.5 method java.lang.StringBuilder.trimToSize(): missing in /home/stefano/data/japi/sun1.5 It IS more interesting, because there methods are included in Java 5 API Doc (except the first one)!...there may be some problem happened to JAPI or the Sun JDK' rt.jar...;-) javax.management.remote.rmi: Missing class javax.management.remote.rmi._RMIConnectionImpl_Tie: missing in /home/stefano/data/japi/sun1.5 class javax.management.remote.rmi._RMIServerImpl_Tie: missing in /home/stefano/data/japi/sun1.5 javax.xml.datatype: Bad field javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS: constant [org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl] in /home/stefano/data/japi/ibm1.5, but constant [com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl] in /home/stefano/data/japi/sun1.5 org.omg.stub.java.lang: Missing package org.omg.stub.java.lang: missing in /home/stefano/data/japi/sun1.5 org.omg.stub.java.security: Missing package org.omg.stub.java.security: missing in /home/stefano/data/japi/sun1.5 org.omg.stub.java.util: Missing package org.omg.stub.java.util: missing in /home/stefano/data/japi/sun1.5 org.w3c.dom.html: Missing method org.w3c.dom.html.HTMLOptionElement.setIndex(int): missing in /home/stefano/data/japi/sun1.5 method org.w3c.dom.html.HTMLTableCellElement.setCellIndex(int): missing in /home/stefano/data/japi/sun1.5 method org.w3c.dom.html.HTMLTableRowElement.setCells(org.w3c.dom.html.HTMLCollection): missing in /home/stefano/data/japi/sun1.5 method org.w3c.dom.html.HTMLTableRowElement.setRowIndex(int): missing in /home/stefano/data/japi/sun1.5 method org.w3c.dom.html.HTMLTableRowElement.setSectionRowIndex(int): missing in /home/stefano/data/japi/sun1.5 org.w3c.dom.xpath: Missing package org.w3c.dom.xpath: missing in /home/stefano/data/japi/sun1.5 - o - First the not-so-shocking things: 1) IBM ships with xpath support with DOM, while Sun does not. Is this true of it's a bug? 2) IBM has a 'stub' subpackage of org.omg that Sun does not have but the real shocker is that japitools reports that IBM has *modified* the java.lang.StringBuilder class and added *15* new methods to it! If this is true, how is it possible for this JVM to pass the TCK if you add methods to a java.lang class? Isn't this the kind of stuff that TCKs are supposed to prevent? Can anybody explain to me if this is true or if this is a japi bug? Also, I found out that Japitools triggers some NullPointerExceptions here and there, so it needs some tuning. I'll investigate more. Stay tuned. -- Paulex Yang China Software Development Lab IBM
Re: Programmer Volunteering (sorry if I should read a FAQ before)
Tim Ellison wrote: I'll add my welcome (I don't see your original post?) I didn't see, either...the original mail's date is May 13, 2005, even before Harmony is created Please don't get me wrong, just add my welcome ;-) -- what area are you interested in? We have cool work in progress in VMs, Memory Management, JIT compilation, class library development, testing, documentation, build systems, tooling, and more that I've probably forgotten! Regards, Tim Fedotov, Alexei A wrote: So, you are very welcome. :-) I enjoyed the quotes at the end of your post. Recently Sveta and Geir updated http://incubator.apache.org/harmony/quickhelp_contributors.html - I Agree, that's the right place to start. And if you have planned to contribute, here is another link as instruction: http://incubator.apache.org/harmony/get-involved.html And please be kindly noted, in the near future(but I'm sure not tomorrow) the links will be out-dated, because we are going to http://harmony.apache.org! ;-) believe it worth to take a look at. With best regards, Alexei Fedotov, Intel Java & XML Engineering -Original Message- From: Nilseu Padilha JMiB [mailto:[EMAIL PROTECTED] Sent: Friday, May 13, 2005 8:15 PM To: harmony-dev@incubator.apache.org Subject: Programmer Volunteering (sorry if I should read a FAQ before) Greetings. I am a cmomercial Systems Architect and would like to volunteer myself as a developer to the Harmony Project. Sorry if I should read any FAQ before, but I like to know how I could contribute to the project. Thank you. Regards, Part 1" aka="JMiB" jobTitle="J2EE Hardcore Architect" jobMainAssignment="Omnipres Co-Architect - Solution for Distributed Enterprise Data" jobOffice="Immediate Consultoria e Sistemas" jobPhone="+55-051-3233-8495" jobPage="http://www.immediate.com.br"; association="Association for Computing Machinery - ACM" education="Bachelor\'s in Computer Science - ULBRA" > And one more thing, what you choose to call hell, he calls home. Oganza bi sasa! Computer science is no more about computers than astronomy is about telescopes. Son of Jor-el, kneel before Zod We reject kings, presidents and voting. We believe in rough consensus and running code. A minority of input produces the majority of results. You\'re...You\'re despicable! It is a painful thing To look at your own trouble and know That you yourself and no one else has made it. John Connor, It is time. One exam does not a (J2EE) architect make. http://www.nerdtests.com/ft_nq.php?im";> http://www.nerdtests.com/images/ft/nq.php?val=8792"; alt="I am nerdier than 97% of all people. Are you nerdier? Click here to find out!"> -- Paulex Yang China Software Development Lab IBM
Re: [classlib][portlib] Docs?
Geir Magnusson Jr. wrote: Paulex Yang wrote: Geir Magnusson Jr. wrote: yeah - someone generate, and we can hang them on the website. I'm not sure we'd want to check them in though... Is it possible to add documents into website but not to commit them in SVN? Yep. I was thinking the same for the Doxygen docs. Basically, you just create locally, review, and then tar and put up on site manually. +1 to go for that It does remove the ability for group oversight (IOW, no commit msgs), but if the generation process isn't very stale (small changes to one page have repercussions all over...) then it keeps the SVN churn to a minimum. Actually I have no idea what kind of commit msgs needed for API document...they are just generated by tools from codes. I think the most important information is the svn revision number against which the document is generated, any doxygen guru can help to find a way? Any chance to pass a revision number to doxygen and to get it added into footer of every page? geir We removed them from classlib/trunk/doc because the SVN metadata get in the way when updating the document. I've done this before for API docs... geir Alexey Petrenko wrote: Having these docs on website will be really good! SY, Alexey 2006/11/1, Paulex Yang <[EMAIL PROTECTED]>: If you get Doxygen installed, you can create it by running "ant doxygen-natives" in classlib/trunk/doc. There were discussions to move the document to somewhere on website, but seems it is still to be done. Morozova, Nadezhda wrote: > Not that I know of :( bits of things are in the devguide, maybe. But you > probably won't find that of much notice. > Anyone, please tell me it's not true! > > Thank you, > Nadya Morozova > > > -Original Message- > From: Alexey Petrenko [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 01, 2006 4:15 PM > To: harmony-dev@incubator.apache.org > Subject: [classlib][portlib] Docs? > > Guys, > > do we have any docs on portlib? > > SY, Alexey > > -- Paulex Yang China Software Development Lab IBM -- Paulex Yang China Software Development Lab IBM
Re: [classlib][luni]clean up excluded testcases in java.net
Tony Wu wrote: Hi all, I noticed that some tests of java.net were excluded due to external server dependency. Now we have a jetty in /depends/jars, is it time to clean up these testcases to use jetty and make them run-able? I volunteer to do it if so. Go ahead! :) -- Paulex Yang China Software Development Lab IBM
Re: [classlib] Jigsaw status is added to the apps page
Anton Rusanov wrote: Hi, I discovered that some entries in application status haven't been updated since May. I am finishing working on JarSigner tool and I can update status info which became out of date. If there are no objections I will do this. Sure, why not. Further, I think we need more application test on the popular FOSS Java applications from all over the community, even the commercial product test is also welcome:). btw, IIRC, we have got JBoss run on Harmony, but didn't find it on the status page (Igor? ;-)). 2006/11/2, Mikhail Loenko <[EMAIL PROTECTED]>: I've added Jigsaw to the list of being enabled apps [1] Thanks, Mikhail [1] http://wiki.apache.org/harmony/Application_Status -- Paulex Yang China Software Development Lab IBM
Re: [classlib][portlib] Docs?
Geir Magnusson Jr. wrote: yeah - someone generate, and we can hang them on the website. I'm not sure we'd want to check them in though... Is it possible to add documents into website but not to commit them in SVN? We removed them from classlib/trunk/doc because the SVN metadata get in the way when updating the document. I've done this before for API docs... geir Alexey Petrenko wrote: Having these docs on website will be really good! SY, Alexey 2006/11/1, Paulex Yang <[EMAIL PROTECTED]>: If you get Doxygen installed, you can create it by running "ant doxygen-natives" in classlib/trunk/doc. There were discussions to move the document to somewhere on website, but seems it is still to be done. Morozova, Nadezhda wrote: > Not that I know of :( bits of things are in the devguide, maybe. But you > probably won't find that of much notice. > Anyone, please tell me it's not true! > > Thank you, > Nadya Morozova > > > -Original Message- > From: Alexey Petrenko [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 01, 2006 4:15 PM > To: harmony-dev@incubator.apache.org > Subject: [classlib][portlib] Docs? > > Guys, > > do we have any docs on portlib? > > SY, Alexey > > -- Paulex Yang China Software Development Lab IBM -- Paulex Yang China Software Development Lab IBM
Re: [doc] No Doxygen reference for code :(
Alexey Petrenko wrote: I think that we can place the docs here: http://incubator.apache.org/harmony/subcomponents/classlibrary/index.html Yes, that's one of my candidate, another one is here: standard/site/docs/documentation/documentation.html, because I think it is also a reasonable idea for the user to go for "documentation" if you wanna some API explanation. How about we put the API document in each subcomponents(classlib/drlvm/jchevm), but also add their link in documentation/documentation.html? 2006/11/1, Paulex Yang <[EMAIL PROTECTED]>: Morozova, Nadezhda wrote: > Hi everyone, > > I've noticed that there's no API reference documentation for Harmony > code - generated by Doxygen/Javadoc. I guess many will agree that > having API reference is very useful and convenient. > > > > This issue was discussed a while ago [1] for kernel classes and vmi > interface in classlib. We agreed to store the Doxygen docs on the > website by generating them manually from code and placing there. It > seems that the old version of the docs was removed from SVN but never > made its way to the website, so it's just NOWHERE now :-(. Let's fix it! > > > AFAIU, we want to have the following: > > 1.Ability to generate docs locally from source code as part of > build - need to change existing build files or write new ones. > 2.Ability to see docs on the website - manually copy a local > bundle of docs to the website and add a link. Geir has been planning to > include the website into the next snapshot; supplying ready reference > with it seem nice. > > Volunteers? > I can work on item 2 for sure to get a nice config file and patch the > website to link to our new Doxygen API. Item 1 -fixing the build - might > be more extravagant, so your aid's welcome ;) > It is me that removed the original document in classlib/trunk/doc as we discussed before, so seems it should be my responsibility to make the work complete:). Sorry for delaying so long. But I still have no strong feelings where to put them in standard/site, any suggestions? You can create all the API document by run "ant" in classlib/trunk/doc, you can get all document created, assuming Doxygen is installed. If you kindly provide the patch, I will look at it and merge it into SVN. > > > [1] mail thread > http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200609.mb > ox/[EMAIL PROTECTED] > > > > Thanks, > > Nadya Morozova > > > -- Paulex Yang China Software Development Lab IBM -- Paulex Yang China Software Development Lab IBM
Re: [doc] No Doxygen reference for code :(
Morozova, Nadezhda wrote: Hi everyone, I've noticed that there's no API reference documentation for Harmony code - generated by Doxygen/Javadoc. I guess many will agree that having API reference is very useful and convenient. This issue was discussed a while ago [1] for kernel classes and vmi interface in classlib. We agreed to store the Doxygen docs on the website by generating them manually from code and placing there. It seems that the old version of the docs was removed from SVN but never made its way to the website, so it's just NOWHERE now :-(. Let's fix it! AFAIU, we want to have the following: 1. Ability to generate docs locally from source code as part of build - need to change existing build files or write new ones. 2. Ability to see docs on the website - manually copy a local bundle of docs to the website and add a link. Geir has been planning to include the website into the next snapshot; supplying ready reference with it seem nice. Volunteers? I can work on item 2 for sure to get a nice config file and patch the website to link to our new Doxygen API. Item 1 -fixing the build - might be more extravagant, so your aid's welcome ;) It is me that removed the original document in classlib/trunk/doc as we discussed before, so seems it should be my responsibility to make the work complete:). Sorry for delaying so long. But I still have no strong feelings where to put them in standard/site, any suggestions? You can create all the API document by run "ant" in classlib/trunk/doc, you can get all document created, assuming Doxygen is installed. If you kindly provide the patch, I will look at it and merge it into SVN. [1] mail thread http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200609.mb ox/[EMAIL PROTECTED] Thanks, Nadya Morozova -- Paulex Yang China Software Development Lab IBM
Re: [classlib][portlib] Docs?
If you get Doxygen installed, you can create it by running "ant doxygen-natives" in classlib/trunk/doc. There were discussions to move the document to somewhere on website, but seems it is still to be done. Morozova, Nadezhda wrote: Not that I know of :( bits of things are in the devguide, maybe. But you probably won't find that of much notice. Anyone, please tell me it's not true! Thank you, Nadya Morozova -Original Message- From: Alexey Petrenko [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 01, 2006 4:15 PM To: harmony-dev@incubator.apache.org Subject: [classlib][portlib] Docs? Guys, do we have any docs on portlib? SY, Alexey -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony passes 100% testcases of Tomcat5.5
Tim Ellison wrote: Geir Magnusson Jr. wrote: Great! Does anything link to that page? IOW, if I started at the top, could I find the page using some reasonable path to get there? Front Page > Application Status (in the 'Status' section) There are a number of apps listed there as people test them. Yes, and I suggest we always add links to this page when somebody creates a wiki page for application test, a few days ago, I just added several links to it(IIRC, Eclipse, Tomcat, Log4j...), because I thought they should be there but couldn't find... Regards, Tim -- Paulex Yang China Software Development Lab IBM
Re: [classlib]Harmony passes 100% testcases of Tomcat5.5
Sigh...you must didn't read into it...;-) The detailed information about how to build and run tests have been put on http://wiki.apache.org/harmony/Apache_Tomcat Geir Magnusson Jr. wrote: Nice! Post it on the wiki? Leo Li wrote: Hi, all: Harmony now has been able to pass 100% testcases on Tomcat5.5. I ran them both on WindowsXP and Unbuntu, with J9 VM and drlvm. The detailed information about how to build and run tests have been put on http://wiki.apache.org/harmony/Apache_Tomcat. Note: 1. Harmony launches slower than RI, so I add the interval between the launch of Tomcat Server and tests from 8 seconds to 30 seconds to ensure the server has been running. 2. Runtime.exec fails on linux with J9 vm, as discussed on[1], so I have altered the usage of fork to vfork as a workround despite of the possible side-effect of the latter. mailing thread [1] http://www.mail-archive.com/harmony-dev@incubator.apache.org/msg16002.html -- Paulex Yang China Software Development Lab IBM
Re: [general]97.63% unit tests of Axis passed on Harmony+IBMVM
Tony Wu wrote: Hi all, I tried to run the unit tests of apache axis on harmony+IBMVM and got this result[1]. It looks not bad. I will update the detail on wiki. Furthermore, I will dive into the failure and try the functional test next week. [1] Tests Failures Errors Success rate Time 7183 14 97.63%74.739 BTW RI got 100.00% passed Excellent! Would you also add some instruction on how to configure/run Axis on Harmony? -- Paulex Yang China Software Development Lab IBM
Re: Harmony passes 94% on derby tests.
Leo Li wrote: So I recommend to delay putting formal derby tests in Harmony project util they are ported to junit. Since there will be quite some trouble to build them and to test them. Furthermore, current tests which are large and compared by console output are not so easy for debugging.:) Besides, I will put my patch on Harmony wiki page and give some instructions about how to build and test for those who are interested in this topic right now. Excellent work and very nice page! On 10/26/06, Daniel John Debrunner <[EMAIL PROTECTED]> wrote: Geir Magnusson Jr. wrote: > Nice work! > > More inline.. > > Leo Li wrote: >> 467 Tests Run >> 94% Pass (443 tests passed) >> 6% Fail (24 tests failed) >> 5 Suites skipped >> >> The main progress focuses here: >> 1. Harmony classlib fails to load class when user-defined security policy >> exists. It is due to the sequence of library loading of VM, which has >> been >> resolved now. >> 2. A new workround for derby tests which allow useprocess to run test or >> else several testcases might fail due to derby lack these tests when >> useprocess = false. >> 3. Derby source code uses the version and the name of java vm to >> decide what >> to do, while current IBM VM has the version of "1.4.2" and the name of >> "j9", >> which has different output on the screen from that of standard RI 1.5. At >> the same time Derby test compares the output of the iteractive test >> scripts >> to that of expected. I have made some slight modification in its source >> code, but I have not throughly change this odd behavior, ...,too much:( > > Have you approached the derby community with the changes? Derby is moving to a pure JUnit based world, so it is probably not worth a lot of effort patching up the old harness to run with Harmony. One of the reasons to kill the old harness is that how to run with a new vm is not obvious. http://wiki.apache.org/db-derby/KillDerbyTestHarness Dan. -- Paulex Yang China Software Development Lab IBM
Re: svn commit: r467634 - in /incubator/harmony/enhanced/classlib/trunk/doc: build.xml vminterface/natives.cfg
Mark Hindess wrote: Thanks Paulex. I really should have remembered that when I committed that the JIRA to move that code. You are welcome:). Just seems no one else ever need to create and look at that document like me:). -Mark. On 25 October 2006 at 13:21, [EMAIL PROTECTED] wrote: Author: pyang Date: Wed Oct 25 06:21:53 2006 New Revision: 467634 URL: http://svn.apache.org/viewvc?view=rev&rev=467634 Log: Update the portlib document creation script to adapt the relayout that move p ortlib out of luni Modified: incubator/harmony/enhanced/classlib/trunk/doc/build.xml incubator/harmony/enhanced/classlib/trunk/doc/vminterface/natives.cfg Modified: incubator/harmony/enhanced/classlib/trunk/doc/build.xml URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/d oc/build.xml?view=diff&rev=467634&r1=467633&r2=467634 = = --- incubator/harmony/enhanced/classlib/trunk/doc/build.xml (original) +++ incubator/harmony/enhanced/classlib/trunk/doc/build.xml Wed Oct 25 06:21: 53 2006 @@ -88,6 +88,7 @@ + Modified: incubator/harmony/enhanced/classlib/trunk/doc/vminterface/natives.c fg URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/d oc/vminterface/natives.cfg?view=diff&rev=467634&r1=467633&r2=467634 = = --- incubator/harmony/enhanced/classlib/trunk/doc/vminterface/natives.cfg (or iginal) +++ incubator/harmony/enhanced/classlib/trunk/doc/vminterface/natives.cfg Wed Oct 25 06:21:53 2006 @@ -438,16 +438,18 @@ "$(HARMONY_DOC_DIR)/vminterface" \ "$(HARMONY_LUNI_NATIVES_DIR)/vmi/$(HARMONY_TARGET_PLATFORM)" \ "$(HARMONY_LUNI_NATIVES_DIR)/luni/$(HARMONY_TARGET_PLATFORM)" \ - "$(HARMONY_LUNI_NATIVES_DIR)/pool/$(HARMONY_TARGET_PLATFORM)" \ - "$(HARMONY_LUNI_NATIVES_DIR)/port/$(HARMONY_TARGET_PLATFORM)" \ - "$(HARMONY_LUNI_NATIVES_DIR)/thread/$(HARMONY_TARGET_PLATFORM)" \ "$(HARMONY_LUNI_NATIVES_DIR)/include/$(HARMONY_TARGET_PLATFORM) " \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/pool/$(HARMONY_TARGET_PLATFORM) " \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/port/$(HARMONY_TARGET_PLATFORM) " \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/thread/$(HARMONY_TARGET_PLATFOR M)" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/include/$(HARMONY_TARGET_PLATFO RM)" \ "$(HARMONY_LUNI_NATIVES_DIR)/vmi/shared" \ "$(HARMONY_LUNI_NATIVES_DIR)/luni/shared" \ - "$(HARMONY_LUNI_NATIVES_DIR)/pool/shared" \ - "$(HARMONY_LUNI_NATIVES_DIR)/port/shared" \ - "$(HARMONY_LUNI_NATIVES_DIR)/thread/shared" \ "$(HARMONY_LUNI_NATIVES_DIR)/include/shared" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/pool/shared" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/port/shared" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/thread/shared" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/include/shared" \ "$(HARMONY_ARCHIVE_NATIVES_DIR)/zip/$(HARMONY_TARGET_PLATFORM)" \ "$(HARMONY_ARCHIVE_NATIVES_DIR)/archive/$(HARMONY_TARGET_PLATFO RM)" \ "$(HARMONY_ARCHIVE_NATIVES_DIR)/zip/shared" \ @@ -975,7 +977,9 @@ # contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = "$(HARMONY_LUNI_NATIVES_DIR)/include/shared" \ +INCLUDE_PATH = "$(HARMONY_PORTLIB_NATIVES_DIR)/include/shared" \ + "$(HARMONY_PORTLIB_NATIVES_DIR)/include/$(HARMONY_TARGET_PLATFO RM)" \ + "$(HARMONY_LUNI_NATIVES_DIR)/include/shared" \ "$(HARMONY_LUNI_NATIVES_DIR)/include/$(HARMONY_TARGET_PLATFORM) " # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -- Paulex Yang China Software Development Lab IBM
[classlib][security]Re: [jira] Created: (HARMONY-1963) [classlib][security] Harmony cannot read security policy file correctly
Any security guys can help to look at this issue? thanks in advance. I haven't found time to looked closer to find the cause yet, but it seems a little serious. Paulex Yang (JIRA) wrote: [classlib][security] Harmony cannot read security policy file correctly --- Key: HARMONY-1963 URL: http://issues.apache.org/jira/browse/HARMONY-1963 Project: Harmony Issue Type: Bug Components: Classlib Environment: Harmony classlib + IBM VME, windows XP+sp2 Reporter: Paulex Yang I created simple a java.policy file[1], and try to run SecurityManagerTest with argument: -Djava.security.manager -Dtest.bin.dir= -Djava.security.policy= public class SecurityManagerTest { public static void main(String[] args) throws Exception{ System.out.println(System.getProperty("os.name")); //read access for this property has been granted by default policy System.out.println(System.getProperty("notexist")); // no access for this property has been granted by default policy } } RI prints: Windows XP null Harmony prints: Windows XP K0319java.security.AccessControlException: Access denied (java.util.PropertyPermission notexist read) at java.security.AccessController.checkPermission(AccessController.java:94) at java.lang.SecurityManager.checkPermission(SecurityManager.java:739) at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:374) at java.lang.System.getProperty(System.java:675) at java.lang.System.getProperty(System.java:660) at SecurityManagerTest.main(Unknown Source) I got same results if add the content customized java.policy to default policy file without specifying policy file in cmd line. [1] grant codeBase "file:${test.bin.dir}/-" { permission java.security.AllPermission; }; -- Paulex Yang China Software Development Lab IBM
Re: [classlib][luni] java.io.File bug?
Spark Shen wrote: Hi All: When login as 'root' under Linux, the following test case fails on Harmony while passes on RI. public void test_canWrite() throws IOException{ File f = File.createTempFile("test", null); f.setReadOnly(); assertTrue(f.canWrite()); f.deleteOnExit(); } I think RI's behavior is more reasonable since the 'root' account does have read/write privilege for temp files. However, Harmony only treats 'root' as ordinary other users. It seems that similar problem happens on java.io.File.canRead(). I agree that RI's behavior is reasonable, although a little different with spec[1], Harmony should fix the implementation. [1]public boolean *setReadOnly* () Marks the file or directory named by this abstract pathname so that only read operations are allowed. After invoking this method the file or directory is guaranteed not to change until it is either deleted or marked to allow write access. Whether or not a read-only file or directory may be deleted depends upon the underlying system. As we all know, File class deals with many different file object on many different file system, would any one test File behavior on other file systems. I didn't follow, what you mean here? Best regards -- Paulex Yang China Software Development Lab IBM
Re: [vote] Graduate Apache Harmony podling from the Incubator
+1 - Paulex Geir Magnusson Jr. wrote: We're trying something a little different. I think Roy Fielding one said something along the lines of "when a community gets organized enough to vote itself out of the Incubator, it's appropriate." So to bring the Harmony community and the Incubator community together for this important event in Harmony's life, I'm calling for a vote on graduating Harmony here on our own -dev list. The objective is for all in both the Harmony community and the Incubator community that have an opinion to vote together, in the same place, and have it "hosted" by the Harmony podling. This is an unconventional way to do this, but I think that it's valid and could provide one example to the Incubator on how it can work going forward. So, without any further ado : [ ] +1 Graduate Apache Harmony from incubation, and let it petition the board for Top Level Project status [ ] 0 No opinion [ ] -1 No, don't graduate Harmony. Here's why : This vote will end 72 hours from now + time of Apache mail outage. It will therefore end on Monday, October 23, at 3:30 PM eastern, + delta for mail outage. Thanks geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM
Re: [general][svn] which svn revision we take into consideration?
Volynets, Vera wrote: Hi, svn has two commands where you can get svn revision. It's nice bug the problem is that results are different. example: 1) svn log --limit 1 r466095 | smishura | 2006-10-20 16:47:14 +0400 (Fri, 20 Oct 2006) | 1 line Apply patch for HARMONY-1927 ([classlib][tools] KeyStoreLoaderSaver.saveStore(..) throws unhandled IllegalArgumentException) 2) svn info Path: . URL: https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib/trunk Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 466101 Node Kind: directory Schedule: normal Last Changed Author: smishura Last Changed Rev: 466095 Last Changed Date: 2006-10-20 16:47:14 +0400 (Fri, 20 Oct 2006) Properties Last Updated: 2006-10-19 15:19:37 +0400 (Thu, 19 Oct 2006) Could someone explain what the difference between "Revision" and "Last Changed" Rev is? Maybe "Revision" shows current revision which would be "Last Updated" after next commit? Which of these two revisions we call revision? The svn repository revision is global, which means, in Apache, all projects share the current revision number, that's what the "Revision" means. While specific to the node(file or directory) under consideration, the "Last Changed Rev" means the last update revision for it. With best regards, Vera! Vera Volynets Intel Middleware Products Division - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][test] Configuration dependent test of InetAddress.getHostName
Denis Kishenko wrote: I have researched issue H-1664 and found one more difference with RI. I run simple test on Windows Server 2003 SP1 === Test = import java.net.InetAddress; import java.net.UnknownHostException; public class Test { public static void main(String[] args) throws UnknownHostException { System.out.println("by name (127.0.0.1) -> " + InetAddress.getByName("127.0.0.1").getHostName()); System.out.println("by name (localhost) -> " + InetAddress.getByName("localhost").getHostName()); System.out.println("by address -> " + InetAddress.getByAddress(new byte[]{127, 0, 0, 1}).getHostName()); System.out.println("localhost -> " + InetAddress.getLocalHost()); } } Windows Server 2003 SP1 === RI == by name (127.0.0.1) -> 127.0.0.1 by name (localhost) -> localhost by address -> 127.0.0.1 localhost -> nstdrlew21/10.125.122.60 = Harmony == by name (127.0.0.1) -> nstdrlew21.ins.intel.com by name (localhost) -> localhost by address -> nstdrlew21.ins.intel.com localhost -> nstdrlew21/10.125.122.60 WinXP = Both === by name (127.0.0.1) -> localhost by name (localhost) -> localhost by address -> localhost localhost -> pbwdmkishen/10.125.132.226 Actually Harmony use native call of getnameinfo() to get host name (which is reasonable IMHO). MSDN says "The getnameinfo function provides name resolution from an address to the host name". InetAddressTest.test_getHostName (see H-1664) failed on WinServer because InetAddress.getByName("127.0.0.1").getHostName() returned "nstdrlew21.ins.intel.com" while "localhost" expected. So this test looks like configuration dependent. I see three possible options 1. Stay test as is. Just keep in mind that on specific configurations this one fails. 2. Rewrite test to be configuration dependent. Test has to do the same native call. 3. Exclude localhost checking from test_getHostName. I think Harmony does the right thing as spec requires, the difference is caused by underlying system call, so it should be acceptable, i.e., the test needs to be rewritten or excluded. But this issue worth a non-bug difference together with getHostName()'s different behavior when SecurityManager presents[1](thanks Alexei Fedotov helped to find this link and commented to HARMONY-1664:)) Harmony-73 is another issue, which is actually caused by HARMONY-84 and irrelevant with getHostName() method. [1] http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200602.mbox/[EMAIL PROTECTED] What do you think about this situation? -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib] Build failure messages
Nathan Beyer wrote: I added a compiler arg to the main 'build-java.xml' compile to disable all of the warnings. Thanks a lot, Nathan, but how about also add that arg to build-test.xml? I think the ECJ probably feels more unhappy with the test cases:). This should take care of the warnings. -Nathan On 10/18/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: Can we just shut them off for now? it's a good project for someone to go and clean those up, but there's no need for all of us to see them. geir Mark Hindess wrote: > These messages aren't getting through on the commits list on due to the > large number of warnings since switching to ecj. I've modified the > summary process so that it ignores these for the moment. > > Hopefully this means that the failure messages that haven't been making > the commits list will start getting through. > > Regards, > Mark. > > > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] Incubator graduation update
Alex Blewitt wrote: However, if not, and some IPMC memebers still really want to see a demonstration of a release process, we can certainly do that. I've thought about what we might release. One thing that came to mind is a Pack200 jar :) :-) So, you're saying I've got less than a month to finish it ... I'll probably be able to get *something* ready for a release, but I doubt it will be fully compliant by then. The problem is that decompressed Jars are supposed to be exactly the same for any decompressor, so that MD5 signatures remain valid afterwards. What I can probably get is an unpacked Jar that will execute, but might be in a different ordering or have different MD5 signatures for components. The problem is that there's a lot of possible combinations of input files ... I've also tended to do fairly large code drops in patches, because it normally means a few days between submission and when it can be applied (thanks for the last one Paulex :-) I'd prefer to submit smaller patches as and when new functionality is added, but it would take longer that way. You are welcome:). About the size of patches, IMO it's a dilemma, if the patch is large and contains too many information for committers to understand in a glance, it generally needs more time to get it applied; while a relative smaller patch with clear objective and reasonable tests probably has more chance to go in the SVN very soon. PS When's the code going to be moved to a jdktools subproject? I can do that if no one objects(I personally +1 for that, but I'm waiting for more committers' opinion on this issue), and if you can provide a script to do that(svn move or so), it would be nice. Alex. - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [JBoss] JBoss works on Harmony DRLVM + Classlib
Igor Stolyarov wrote: 2006/10/18, Paulex Yang <[EMAIL PROTECTED]>: All of JBoss feature works? I cannot believe it, brilliant! I couldn't guarantee what all features work. I've tryed Duke's Bank example from the J2EE tutorial. Oh yeah, that's more than brilliant already! :D What I meant about "all" is that the JBoss's test case can pass at same rate with RI, though that also doesn't mean "all" really.;-) Igor Stolyarov wrote: > Hello all! > > I pleased to inform you - JBoss AS successfully works on Harnony DRLVM + > Harmony classlib! > JBoss was tested with MySQL(JDBC driver - > mysql-connector-java-3.1.8-bin.jar) > and HypersonicSQL DBs on Win and Linux platforms. > > Known issues: > 1) Harmony JDK structure doesn't compatible with RI JDK structure > (H-1888, > H-1889); > > 2) Harmony classlib has mx4j v.3.0.1 implementation of Java Management > Extensions. This implementation > has bug which doesn't allow to launch JBoss (H-1901). > > 3) Using JDBC driver mysql-connector-java-3.1.13-bin.jar leads to > jitrino's > issue H-1877, but using -Xem:jet helps to solve this problem. > > 4) On Linux platform there is a problem with interruption of socket. > (H-1904). > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][archive]Security policy leads to vm crashes in loading class of JarFile
Alexey Varlamov wrote: Can't we use lazy initialization here? I had similar experience with this class in the past, and think it should not be so fragile to initialization sequence. And definitely it should not affect whole VM run. Hmm...lazily loading for Msg class is good, but I'm afraid it's not the "sweet point" of this problem, because in this case, the exception is *really* thrown by j.n.URL, so that you cannot avoid loading resource bundle(btw, I just found that the full stacktrace hasn't been pasted yet[1]). lI suspect the issue is that the hyarchive.dll/so has not been loaded yet when this exception happens, so I added this line to the static initialization part of ZipFile static { +System.loadLibrary("hyarchive"); //$NON-NLS-1$ ntvinit(); } The test codes pass happily. I want to commit this as work around if no one objects, but I still think a general solution for this kind of issue is necessary. There are several classes in archive module need native library, Adler32, CRC32, Deflater, Inflater and ZipFile, only explicitly load hyarchive here cannot guarantee bug free, and some other modules (nio, text etc) have same risk. I have some proposals: 1. Load classlib native libraries as early as possible in VM, as what we do for hyluni, this is safe but the concern is all the Harmony compatible VM needs to do this, unacceptable. 2. Load them early enough, like what we do now in IBM VME, the hyarchive is loaded during j.l.System static init, it was considered early enough, but sadly this case shows that we cannot image all cases, even for a relative general case 3. Create an init class like below, and all classes needs native library must load this init class at first, this works but works in ugly way... public class Init{ static{ System.loadLibrary("blabla"); } } public class SomeClassNeedsNative{ static{ Class.forName("Init"); // the class loading should only happen once so that the native library is loaded only once. } } 4. Produce some contract like Jar_OnLoad() which is described in MANIFEST.MF, so that any class loader loading the jar at first time will execute that method, like JNI_OnLoad or so. This solution seems general and elegant, but needs yet another agreement between Harmony VM and classlib, further it may make the jar not compatible with other VM. Comments? More ideas? [1] java.lang.UnsatisfiedLinkError: java/util/zip/ZipFile.ntvinit()V at java.util.zip.ZipFile.(ZipFile.java:50) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:177) at java.lang.J9VMInternals.initialize(J9VMInternals.java:144) at com.ibm.oti.vm.AbstractClassLoader.fillCache(AbstractClassLoader.java:95) at com.ibm.oti.vm.AbstractClassLoader.getResourceAsStream(AbstractClassLoader.java:134) at java.util.ResourceBundle$1.run(ResourceBundle.java:282) at java.util.ResourceBundle$1.run(ResourceBundle.java:1) at java.security.AccessController.doPrivileged(AccessController.java:179) at java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:277) at java.util.ResourceBundle.getBundle(ResourceBundle.java:134) at org.apache.harmony.luni.util.MsgHelp$1.run(MsgHelp.java:114) at java.security.AccessController.doPrivileged(AccessController.java:179) at org.apache.harmony.luni.util.MsgHelp.setLocale(MsgHelp.java:112) at org.apache.harmony.luni.util.Msg.(Msg.java:49) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:177) at java.net.URL.(URL.java:296) at java.net.URL.(URL.java:156) at org.apache.harmony.security.fortress.PolicyUtils.getPolicyURLs(PolicyUtils.java:445) at org.apache.harmony.security.fortress.DefaultPolicy.refresh(DefaultPolicy.java:278) at org.apache.harmony.security.fortress.DefaultPolicy.(DefaultPolicy.java:184) at org.apache.harmony.security.fortress.DefaultPolicy.(DefaultPolicy.java:173) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1250) at java.security.Policy$1.run(Policy.java:156) at java.security.AccessController.doPrivileged(AccessController.java:179) at java.security.Policy.getDefaultProvider(Policy.java:151) at java.security.Policy.getAccessiblePolicy(Policy.java:191) at java.security.Policy.getPolicy(Policy.java:132) at org.apache.harmony.luni.util.PriviAction.run(PriviAction.java:133) at java.security.AccessController.doPrivileged(AccessController.java:179) at java.lang.System.setSecurityManager(System.java:825) at java.lang.System.installSecurityManager(System.java:155) at java.lang.System.completeInitialization(System.java:117) at java.lang.Thread.(Thread.java:129) 2006/10/18, Paulex Yang <[EMA
Re: [JBoss] JBoss works on Harmony DRLVM + Classlib
All of JBoss feature works? I cannot believe it, brilliant! Igor Stolyarov wrote: Hello all! I pleased to inform you - JBoss AS successfully works on Harnony DRLVM + Harmony classlib! JBoss was tested with MySQL(JDBC driver - mysql-connector-java-3.1.8-bin.jar) and HypersonicSQL DBs on Win and Linux platforms. Known issues: 1) Harmony JDK structure doesn't compatible with RI JDK structure (H-1888, H-1889); 2) Harmony classlib has mx4j v.3.0.1 implementation of Java Management Extensions. This implementation has bug which doesn't allow to launch JBoss (H-1901). 3) Using JDBC driver mysql-connector-java-3.1.13-bin.jar leads to jitrino's issue H-1877, but using -Xem:jet helps to solve this problem. 4) On Linux platform there is a problem with interruption of socket. (H-1904). -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][archive]Security policy leads to vm crashes in loading class of JarFile
A little further hack shows that, the cause is o.a.h.luni.util.Msg cannot be initialized so early, which is the exception message i18n helper class. Its static init codes try to load ResourceBundle but failed. The new i18n helper o.a.h.l.internal.nls.Messages has same issue. I modified the java.net.URL ln.296 as below, and the test passed. -throw new MalformedURLException( -org.apache.harmony.luni.util.Msg.getString( -"K00d8", spec)); //$NON-NLS-1$ + throw new MalformedURLException("exception message here"); Leo Li wrote: Hi, all: During the self-hosting of Derby, I found a security policy if is applied will lead to errors in loading the class of JarFile. IBM vm will throw java/lang/UnsatisfiedLinkError: java/util/zip/ZipFile.ntvi while drlvm will crash with "SEH handler: shutdown errorSEH handler: too many shutdown errors..." Here is the testcase: import java.util.jar.*; public class TestJarFile { public static void main(String[] args) throws Exception{ System.out.println(JarFile.CENATT); } } And the attachment is the derby_tests.policy. Then run: java -Djava.security.manager -Djava.security.policy=derby_tests.policyTestJarFile Run passes, Harmony on IBM VM fails with java/lang/UnsatisfiedLinkError: java/util/zip/ZipFile.ntvi Harmony on Drlvm fails with SEH handler: shutdown errorSEH handler: too many shutdown errors If the security manager is not specified, Harmony passes. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][archive]Security policy leads to vm crashes in loading class of JarFile
Leo Li wrote: Hi, all: During the self-hosting of Derby, I found a security policy if is applied will lead to errors in loading the class of JarFile. IBM vm will throw java/lang/UnsatisfiedLinkError: java/util/zip/ZipFile.ntvi while drlvm will crash with "SEH handler: shutdown errorSEH handler: too many shutdown errors..." Sadly I found the problem is more general...Seems Harmony+IBM VME cannot accept any customized policy file, just try the test case below with option: -Djava.security.manager -Djava.security.policy=test.policy public static void main(String[] args) throws Exception{ System.out.println("hello"); } you'll get same error. Here is the testcase: import java.util.jar.*; public class TestJarFile { public static void main(String[] args) throws Exception{ System.out.println(JarFile.CENATT); } } And the attachment is the derby_tests.policy. Then run: java -Djava.security.manager -Djava.security.policy=derby_tests.policyTestJarFile Run passes, Harmony on IBM VM fails with java/lang/UnsatisfiedLinkError: java/util/zip/ZipFile.ntvi Harmony on Drlvm fails with SEH handler: shutdown errorSEH handler: too many shutdown errors If the security manager is not specified, Harmony passes. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] Please review HARMONY-1858 (Eclipse Help failure)
Nina Rinskaya wrote: Hi all, Could anyone please review the problem description and the fix suggested for https://issues.apache.org/jira/browse/HARMONY-1858#action_12442838? Although the problem reported is not reproducible with the fix, I suspect that the issue might need more thorough investigation and a better fix. Thank you in advance! Oh, yes, I noticed same problem yesterday, and committed a fix(maybe a work around) at r464582 in another way, I updated the Ln.249 of JarURLConnection in following way: -}else{ +}else if(fileString != null){ My understanding of JarURLConnection.findJarFile() is as follows: 1. If the url's protocol is "file", tries to create JarFile directly and return 2. Else if useCaches is true, tries to get it from cache and return 3. Else try to get InputStream from that URLConnection, and write the contents to a temp file, then construct a JarFile based on that temp file and return 4. Else, throw IOException The original implementation pass null as file name to openJarFile() in step 2, so that if the useCaches is false, NPE will be thrown, this is definitely a bug, as HARMONY-1858 shows. The patch for HARMONY-1858 tried to pass a externalForm as file name to openJarFile() instead, but if the url's protocol is not "file", there is no way to create a JarFile on that URL, so that the attempt will always throw IOException, findJarFile() will catch this exception and go into step 3. I thought the IOException thrown/catch is not necessary, instead I add a condition checking to openJarFile(), so that if the fileString is null, just return from openJarFile() and go into step 3. Comments? I also think these two methods, findJarFile()/openJarFile(), need some refactory to make them easier to understand, I will look at it when I get a little more time. Best regards, Nina Rinskaya - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni][charset]Strange behavior of UnicodeBig
Tony Wu wrote: Thank you Andrew, I think I got the point. The j.l.String of RI uses the encoding of IO whereas Charset.forName use another of NIO. And the new problem is shall we follow the spec[1] to support the two suites of charset implemetation? I just have a look and find we does not support some Canonical Name for java.io and java.lang API such as UnicodeBigUnmarked,UnicodeLittleUnmarked,UnicodeBig,Unicodelittle,etc. There is such a charset name mapping in InputStreamReader, I think we have no choice but to support these legacy charset names, you may need some refactory work to make these classes use the same mapping data. [1] http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html On 10/17/06, Andrew Zhang <[EMAIL PROTECTED]> wrote: On 10/17/06, Andrew Zhang <[EMAIL PROTECTED]> wrote: > > > > On 10/17/06, Leo Li <[EMAIL PROTECTED]> wrote: > > > > I think Harmony is more reasonable. > > > > As spec says, if Charset.forName("UnicodeBig") throws > > .UnsupportedCharsetException then no support for the named charset is > > available in this instance of the Java virtual machine. Then how can we > > get > > new String(b, "UnicodeBig") without throwing UnsupportedCharsetException > > on > > the same jvm? The spec for String(byte[] bytes,String charsetName) also > > says > > if the named charset is not supported, UnsupportedCharsetException > > should be > > thrown out. > > > UNICODEBIG is a java alias for UTF-16BE. I think we'd better support such > mapping in String and follow RI. > You can find the encoding set from spec. [1] [1] http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html On 10/17/06, Tony Wu <[EMAIL PROTECTED]> wrote: > > > > > > Hi all, > > > I found this when I tried to debug the failure tests of ant on > > > harmony. Note the output of testcases below. > > > > > > import java.io.UnsupportedEncodingException; > > > import java.nio.charset.Charset ; > > > import junit.framework.TestCase; > > > > > > public class TestCharset extends TestCase { > > >public void test1() throws UnsupportedEncodingException { > > >byte[] b = new byte[] { 'a', 'b', 'c' }; > > >String s = new String(b, "UnicodeBig"); > > >assertEquals("abc", s); > > >} > > > > > >public void test2() { > > >Charset.forName("UnicodeBig"); > > >} > > > } > > > > > > RI: > > > test1: junit.framework.ComparisonFailure: expected: but was:<> > > > test2: java.nio.charset.UnsupportedCharsetException: UnicodeBig > > > > > > Harmony: > > > test1:java.nio.charset.UnsupportedCharsetException: UnicodeBig > > > test2: > > > java.nio.charset.UnsupportedCharsetException: The unsupported charset > > > name is "UnicodeBig" > > > > > > seems RI can recognize the *UnicodeBig* in Constructor of j.l.String, > > > whereas Harmony does not support this alias at all. > > > > > > Do you have any concern about that? > > > -- > > > Tony Wu > > > China Software Development Lab, IBM > > > > > > - > > > Terms of use : http://incubator.apache.org/harmony/mailing.html > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Leo Li > > China Software Development Lab, IBM > > > > > > > -- > Best regards, > Andrew Zhang -- Best regards, Andrew Zhang -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [announce] New Apache Harmony Committers : Oliver Deakin, Richard Liang, Alexey Petrenko, Gregory Shimansky, Alexey Varlamov, Alexei Zakharov
Congratulations! Geir Magnusson Jr wrote: Please join the Apache Harmony PPMC in welcoming the project's newest committers, in alphabetical order : Oliver Deakin Richard Liang Alexey Petrenko Gregory Shimansky Alexey Varlamov Alexei Zakharov These six individuals have shown sustained dedication to the project, an ability to work well with others, and share the common vision we have for Harmony. We all continue to expect great things from them. Gentlemen, you don't have accounts yet. When you finally receive your new committer account information, as a first step to test your almighty powers of committitude, please update the committers page on the website. That should be a good (and harmless) exercise to test if everything is working. Things to do : 1) test ssh-ing to the server people.apache.org. 2) Change your login password on the machine 3) Add a public key to .ssh so you can stop using the password 4) Set your SVN password : just type 'svnpasswd' At this point, you should be good to go. Checkout the website from svn and update it. See if you can figure out how. Also, anything checked out of SVN, be sure that you have checked out via 'https' and not 'http' or you can't check in. You can switch using "svn switch". (See the manual) Finally, although you now have the ability to commit, please remember : 1) continue being as transparent and communicative as possible. You earned committer status in part because of your engagement with others. While it was a "have to" situation because you had to submit patches and defend them, but we believe it is a "want to". Community is the key to any Apache project. 2)We don't want anyone going off and doing lots of work locally, and then committing. Committing is like voting in Chicago - do it early and often. Of course, you don't want to break the build, but keep the "commit bombs" to an absolute minimum, and warn the community if you are going to do it - we may suggest it goes into a branch at first. Use branches if you need to. 3) Always remember that you can **never** commit code that comes from someone else, even a co-worker. All code from someone else must be submitted by the copyright holder (either the author or author's employer, depending) as a JIRA, and then follow up with the required ACQs and BCC. Again, thanks for your hard work so far, and welcome. The Apache Harmony PPMC - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni]Runtime.exec fails on Linux
Geir Magnusson Jr. wrote: I'm confused. Didn't you just report this on Ubuntu? Let Leo speak for himself, but I thought Leo meant IBM VME + Harmony classlib failed on Ubuntu and Redhat, but Alexey just reported that both (VME and DRLVM) works on SUSE, that's why it seems interesting. I have had similar forking problems on Ubuntu 6 (I once found a bug in classlib related to forking...). I never figured out why Unbuntu does this, but it seemed that under memory stress, Ubuntu's fork() fails. Try this - close Eclipse and run the test again... geir Leo Li wrote: Thank you. I have just run it on drlvm of unbuntu, it works. What a qurious problem! On 10/16/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote: Both DRLVM and J9 works for me (SUSE9). -- Alexey 2006/10/16, Leo Li <[EMAIL PROTECTED]>: > Hi, all: > The harmony Runtime.exec fails on Linux with ENOMEM. > Here is the testcase: > > public class Exec { >public static void main(String[] args) throws Exception { > > Runtime.getRuntime().exec("ls");} > } > >I have tried it on RedHat Enterprise 4 and Unbuntu, both get ENOMEM in > native code. > >After digging into it, I found it fails in procimpl.c, line 135: > >grdpid = fork (); > >If the call to fork is changed to vfork, the testcase will pass but > still get exitcode = 1 which indicates that some error has happened. The > difference between fork and vfork is just whether page tables is copied to > child process or not. But I do not think it is the main cause. Besides, > vfork has become outdated since it main usage is supplied by fork with > copy-on-write function implemented in modern linux kernel. Furthermore, > vfork is also not so safe as fork. So I do not think it is the accepted way > to solve the problem. > > I will try whether it can be reproduced on drlvm of linux since I am not > sure whether it is relevent to VM or classlib. If any drlvm man can tell me > the result, it can avoid my trouble to build it on linux. :) > > > > > > > > -- > Leo Li > China Software Development Lab, IBM > > - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant get error
Alexey Petrenko wrote: This error simply means that ant can not finad a compiler. Because Harmony does not have a compiler.. yet... Somewhere (in the READMEs or on the Harmony site) was an instruction on using Eclipse compiler for Harmony build. You should look for this info. The other solution is, if you have JDK installed, point your JAVA_HOME to that directory. SY, Alexey 2006/10/14, Justin Zheng <[EMAIL PROTECTED]>: Thanks for your help. Ant get issue had been resolved and solution had been updated to the wiki page, please help to check. However, another issue occoured. I received this error when I executed build.bat after the update: BUILD FAILED C:\Harmony\trunk\working_vm\build\make\build.xml:406: The following error occurr ed while executing this line: C:\Harmony\trunk\working_vm\build\make\build.xml:413: The following error occurr ed while executing this line: C:\Harmony\trunk\working_vm\build\make\build_component.xml:72: The following err or occurred while executing this line: C:\Harmony\trunk\working_vm\build\win_ia32_msvc_debug\semis\build\targets\build. java.xml:10: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK Some System Variables setting: ANT_HOME=C:\Downloads\apache-ant-1.6.5-bin\apache-ant-1.6.5 JAVA_HOME=C:\Harmony\trunk\working_classlib\deploy\jdk\jre Can any one help? Thanks a lot! Best Regards, Justinz On 10/13/06, Salikh Zakirov <[EMAIL PROTECTED]> wrote: > > Paulex Yang <[EMAIL PROTECTED]> wrote: > >> Can you access http://www.reverse.net/pub/apache/apr/apr-1.2.6.zip in > >> browser? > > Justin Zheng wrote: > > I do cannot access that url. How can I get the access permission? > > The site is one of public Apache mirrors, so it must be some network > availability problem that you cannot access it. > I've just tried and file is accessible. > Could you please check your internet connection is okay? > > Meanwhile, you can try using some other Apache mirror, for example, the > main one, > by making the following change and running 'build.bat update' again. > > --- build/make/win.properties > +++ build/make/win.properties > @@ -50,7 +50,7 @@ CLASSLIB_HOME=../../../classlib/trunk/ > > # Apache Portable Runtime, version 1.1 or above > # http://apr.apache.org/download.cgi > -remote.APR.archive=http://www.reverse.net/pub/apache/apr/apr-1.2.6.zip > +remote.APR.archive=http://www.apache.org/dist/apr/apr-1.2.6.zip > > # APR-util, version 1.2.2 or above > # http://apr.apache.org/download.cgi > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Ant get error
Can you access http://www.reverse.net/pub/apache/apr/apr-1.2.6.zip in browser? Justin Zheng wrote: Hi all, I receive this error when I begin to fetch working_vm's dependencies: BUILD FAILED C:\Harmony\trunk\working_vm\build\make\build.xml:240: The following error occurr ed while executing this line: C:\Harmony\trunk\working_vm\build\make\setup.xml:268: The following error occurr ed while executing this line: C:\Harmony\trunk\working_vm\build\make\setup.xml:270: The following error occurr ed while executing this line: C:\Harmony\trunk\working_vm\build\make\setup.xml:444: Can't get http://www.rever se.net/pub/apache/apr/apr-1.2.6.zip to C:\Harmony\trunk\working_vm\build\pre-cop ied\archives\win\APR\apr-1.2.6.zip It is Ant get error and I can not resolve it. Can anyone help? Thanks. My platform is Windows. Justinz -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Reconstituting the 'sandbox' directory
[EMAIL PROTECTED] wrote: Due to changes in the way that 'incubator/harmony/enhanced/trunk' was rearranged in the summer to reflect its new usage, its 'sandbox' tree was accidentally hidden by SVN activity. However, there are still some directories there that still need to be made available. Is there any reason not to create a 'sandbox' directory in 'incubator/harmony/enhanced' where these items may be made visible again? (New sandbox items could, of course, be placed there also. Of immediate need is the 'bootjvm' directory tree. I spoke with Geir and it is fine with him.) Is this okay with everyone? I see no reason why it cannot be there. Thanks, Dan Lydick Dan Lydick - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [continuum] BUILD FAILURE: Classlib/linux.ia32 Build/Test
Sorry, it should be me, RandomAccessFileTest failed after HARMONY-1790's patch, I didn't test it on Linux, I will roll back at once. [EMAIL PROTECTED] wrote: Online report : http://people.apache.org/~hindessm/continuum/classlib/linux.ia32/2006/10/12/20061012-151835.failure.log.gz Build statistics: State: Failed Previous State: Ok Started at: Thu, 12 Oct 2006 15:01:58 +0100 Finished at: Thu, 12 Oct 2006 16:18:33 +0100 Total time: 1h 16m 35s Build Trigger: Schedule Exit code: 1 Building machine hostname: hy2 Operating system : Linux(unknown) Java version : 1.5.0_06(Sun Microsystems Inc.) Changes classlib/modules/math/src/test/java/tests/api/java/math/BigIntegerTest.java classlib/modules/math/src/main/java/java/math/BigInteger.java classlib/modules/math/src/main/java/java/math/Division.java classlib/modules/math/src/main/java/java/math/Primality.java classlib/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java classlib/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/FloatTest.java classlib/modules/luni/src/main/java/java/io/RandomAccessFile.java classlib/modules/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java classlib/modules/luni/src/main/java/org/apache/harmony/luni/util/FloatingPointParser.java -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ICU4C gurus? (was: [jira] Commented: (HARMONY-100) text/BidiWrapper issue?)
Alexey Petrenko wrote: So I'll implement a new native structure for BiDiWrapper to keep UBiDi and embedding levels pointers at the same place. And not disturb Java code at all. +1, I think it should work for this issue, as long as the memory for embedding level won't been automatically collected by GC. SY, Alexey 2006/10/12, Paulex Yang <[EMAIL PROTECTED]>: Alexey Petrenko wrote: > In fact the most interesting question: can ubidi_getLevels return > another pointer or not? If there is such possibility then we need to > store original pointer somewhere. Yes, there is such possibility. If I understand correctly, in case Oleg just mentioned, a new level array will be created and returned by ubidi_getLevels, although I'm not ICU4C guru:). IMO, the original pointer should be kept by the application using ICU4C, because the ubidi API document doesn't gurantee that the ubidi_getLevels will return the embeddinglevel from setPara(), but it does requires the application to take care of that embeddinglevel's life cycle(allocate/deallocate), so it is safer to keep this pointer somewhere. > > 2006/10/12, Oleg Khaschansky <[EMAIL PROTECTED]>: >> What exactly your code is? It, probably, may rearrange the levels if >> you didn't explicitely set them for all the characters including >> trailing whitespace. If this is the case it may add some additional >> levels and relocate the array. Could you check if the size of the >> array changed? >> >> On 10/12/06, Alexey Petrenko <[EMAIL PROTECTED]> wrote: >> > Is any ICU4C gurus here? >> > >> > I'm setting an embedding levels pointer with ubidi_setPara method. And >> > it seems that ubidi_getLevels returns not the same pointer. >> > >> > Is this correct feeling or am I doing something wrong? >> > >> > SY, Alexey >> > >> > >> > 2006/10/11, Alexey Petrenko (JIRA) <[EMAIL PROTECTED]>: >> > >[ >> http://issues.apache.org/jira/browse/HARMONY-100?page=comments#action_12441378 >> ] >> > > >> > > Alexey Petrenko commented on HARMONY-100: >> > > - >> > > >> > > I agree with Tim's suggestion and will create a patch. >> > > >> > > > text/BidiWrapper issue? >> > > > --- >> > > > >> > > > Key: HARMONY-100 >> > > > URL: >> http://issues.apache.org/jira/browse/HARMONY-100 >> > > > Project: Harmony >> > > > Issue Type: Bug >> > > > Components: Classlib >> > > >Reporter: Vladimir Gorr >> > > > >> > > > Let's consider the following test: >> > > > import java.text.Bidi; >> > > > public class Test { >> > > > public static void main(String[] args) throws Exception { >> > > > Bidi bd = new Bidi(new char[] { 's', 's', 's' }, 0, >> > > > new byte[] { (byte) -7, (byte) >> -2, (byte) -3 }, >> > > > 0, 3, >> Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); >> > > > System.out.println("Expected 7, real " + " " >> + bd.getLevelAt(0)); >> > > > } >> > > > } >> > > > In my opinion the JNI implementation of Bidi >> (text/BidiWrapper.c file, ubidi_1setPara() function) contains a >> potential bug, namely: >> > > > 1. If the embeddingLevels argument is not NULL then >> _embeddingLevels variable is initialized with the JNI >> GetByteArrayElements() function; >> > > > 2. ICU function (ubidi_setPara) initializes ICU inner structure >> and puts the _embeddingLevels into it; >> > > > 3. If _embeddingLevels pointer is not NULL then the JNI >> ReleaseByteArrayElements() function (with 0 as fourth parameter) is >> called. >> > > > This function releases the memory (according to JNI >> specification) the _embeddingLevels pointer refers to; >> > > > 4. After that ICU inner structure isn't initialized properly. >> Call of ICU ubidi_getLevels() function can return incorrect values >> (see java test above). >> > > > It seems the JNI_COMMIT parameter instead of "0" should be >> passed to the ReleaseByteArrayElements() to avoid this problem. >> > > > I'd like to under
Re: ICU4C gurus? (was: [jira] Commented: (HARMONY-100) text/BidiWrapper issue?)
Alexey Petrenko wrote: In fact the most interesting question: can ubidi_getLevels return another pointer or not? If there is such possibility then we need to store original pointer somewhere. Yes, there is such possibility. If I understand correctly, in case Oleg just mentioned, a new level array will be created and returned by ubidi_getLevels, although I'm not ICU4C guru:). IMO, the original pointer should be kept by the application using ICU4C, because the ubidi API document doesn't gurantee that the ubidi_getLevels will return the embeddinglevel from setPara(), but it does requires the application to take care of that embeddinglevel's life cycle(allocate/deallocate), so it is safer to keep this pointer somewhere. 2006/10/12, Oleg Khaschansky <[EMAIL PROTECTED]>: What exactly your code is? It, probably, may rearrange the levels if you didn't explicitely set them for all the characters including trailing whitespace. If this is the case it may add some additional levels and relocate the array. Could you check if the size of the array changed? On 10/12/06, Alexey Petrenko <[EMAIL PROTECTED]> wrote: > Is any ICU4C gurus here? > > I'm setting an embedding levels pointer with ubidi_setPara method. And > it seems that ubidi_getLevels returns not the same pointer. > > Is this correct feeling or am I doing something wrong? > > SY, Alexey > > > 2006/10/11, Alexey Petrenko (JIRA) <[EMAIL PROTECTED]>: > >[ http://issues.apache.org/jira/browse/HARMONY-100?page=comments#action_12441378 ] > > > > Alexey Petrenko commented on HARMONY-100: > > - > > > > I agree with Tim's suggestion and will create a patch. > > > > > text/BidiWrapper issue? > > > --- > > > > > > Key: HARMONY-100 > > > URL: http://issues.apache.org/jira/browse/HARMONY-100 > > > Project: Harmony > > > Issue Type: Bug > > > Components: Classlib > > >Reporter: Vladimir Gorr > > > > > > Let's consider the following test: > > > import java.text.Bidi; > > > public class Test { > > > public static void main(String[] args) throws Exception { > > > Bidi bd = new Bidi(new char[] { 's', 's', 's' }, 0, > > > new byte[] { (byte) -7, (byte) -2, (byte) -3 }, > > > 0, 3, Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT); > > > System.out.println("Expected 7, real " + " " + bd.getLevelAt(0)); > > > } > > > } > > > In my opinion the JNI implementation of Bidi (text/BidiWrapper.c file, ubidi_1setPara() function) contains a potential bug, namely: > > > 1. If the embeddingLevels argument is not NULL then _embeddingLevels variable is initialized with the JNI GetByteArrayElements() function; > > > 2. ICU function (ubidi_setPara) initializes ICU inner structure and puts the _embeddingLevels into it; > > > 3. If _embeddingLevels pointer is not NULL then the JNI ReleaseByteArrayElements() function (with 0 as fourth parameter) is called. > > > This function releases the memory (according to JNI specification) the _embeddingLevels pointer refers to; > > > 4. After that ICU inner structure isn't initialized properly. Call of ICU ubidi_getLevels() function can return incorrect values (see java test above). > > > It seems the JNI_COMMIT parameter instead of "0" should be passed to the ReleaseByteArrayElements() to avoid this problem. > > > I'd like to underline the test mentioned above works w/o any issues for Harmony-14 contribution (although it shouldn't sometimes IMHO). > > > Therefore if there are any doubts in my argumentation this issue can be closed as invalid. > > > > -- > > This message is automatically generated by JIRA. > > - > > If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa > > - > > For more information on JIRA, see: http://www.atlassian.com/software/jira > > > > > > > > > -- > Alexey A. Petrenko > Intel Middleware Products Division > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][regex|luni] build break
d about method > matches() in AbstractSet.java comments: > > "Checks if this node matches in given position and recursively call > next node matches on positive self match. Returns positive integer if > entire match succeed, negative otherwise > return -1 if match fails or n > 0;" > In fact method matches() returns not only a positive n > 0. The n is an > offset in case of a positive > match attempt. This fact is took into account in all old classes of > java.util.regex, but I forgot this fact in SupplRangeSet.java > So I corrected method matches() of the SupplRangeSet class as follows: > ... > int offset = -1; > if (stringIndex < strLength) { > char high = testString.charAt(stringIndex++); > > if (contains(high) && > (offset = next.matches(stringIndex, testString, > matchResult)) > 0) { > return offset; > } > ... > I corrected the patch and attached it to the issue. > I verified that regex and luni tests pass normally with the patch > applied. > > Thanks, > Anton > Hi Anton: It must be very excited to handle such a complex problem. :-) But after applying the new patch (and test patch applied), I still got problems: Of test class: org.apache.harmony.tests.java.util.regex.PatternTest, 4 test methods fail on RI: testCanonEqFlag: java.util.regex.PatternSyntaxException: Unclosed group near index 59 (?:ǠI|ǠI|ǠI|ȦĪ|ȦĪ|ȦĪ|ǠI|ǠI|Aİ̄(?:Ìc|Ìc|Ic̀)db(ac) ^ at java.util.regex.Pattern.error(Pattern.java:1650) at java.util.regex.Pattern.accept(Pattern.java:1508) at java.util.regex.Pattern.group0(Pattern.java:2460) at java.util.regex.Pattern.sequence(Pattern.java:1715) at java.util.regex.Pattern.expr(Pattern.java:1687) at java.util.regex.Pattern.compile(Pattern.java:1397) at java.util.regex.Pattern.(Pattern.java:1124) at java.util.regex.Pattern.compile(Pattern.java:840) at org.apache.harmony.tests.java.util.regex.PatternTest.testCanonEqFlag( PatternTest.java:1060) testIndexesCanonicalEq: junit.framework.AssertionFailedError: null at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertTrue(Assert.java:27) at org.apache.harmony.tests.java.util.regex.PatternTest.testIndexesCanonicalEq (PatternTest.java:1247) testCanonEqFlagWithSupplementaryCharacters: junit.framework.AssertionFailedError: null at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertTrue(Assert.java:27) at org.apache.harmony.tests.java.util.regex.PatternTest.testCanonEqFlagWithSupplementaryCharacters (PatternTest.java:1275) testPredefinedClassesWithSurrogatesSupplementary junit.framework.AssertionFailedError: null at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertFalse(Assert.java:34) at junit.framework.Assert.assertFalse(Assert.java:41) at org.apache.harmony.tests.java.util.regex.PatternTest.testPredefinedClassesWithSurrogatesSupplementary (PatternTest.java:1477) If they are the bugs of RI, shall we add comments for them in the test case? and Error message printed out on console on Harmony. Since there are test cases use System.out instead of assert, I could not locate where these error message comes from: java.util.regex.PatternSyntaxException: unmatched ) near index: 1 b)a ^ java.util.regex.PatternSyntaxException: unmatched ) near index: 4 bcde)a ^ java.util.regex.PatternSyntaxException: unmatched ) near index: 5 bbg())a ^ java.util.regex.PatternSyntaxException: unmatched ) near index: 7 cdb(?i))a ^ And last, the good news is luni tests do pass. :-) Best regards -- Spark Shen China Software Development Lab, IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib]97.16% tests of Apache Ant passed on Harmony
Nice work, Tony! Any more description on what happened to these failures/errors? Spark, you must not clicked that link, it shows one error on RI:) Spark Shen wrote: Tony Wu 写道: I have tried the Apache ant 1.6.5 on lateset harmony classlib on Win32 system. It got 97.16% passed, seems not bad ;-) I'll go ahead to run on other vm and other platform and analyse the failure and fix them if possible. What I have done was updated on the wiki page http://wiki.apache.org/harmony/Apache_Ant Anyone have interest are welcome to join me:) Hi Tony: What is pass rate of RI? Best regards -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] HARMONY-1609 - bulk contribution of Applet, ImageIO and Print modules
+1 from me, though I knew it may be a little late(just back from vacation)... Geir Magnusson Jr. wrote: BCC and ACQs in place. [ ] +1 Yes, accept the contribution [ ] -1 No, don't. reason : As usual, 3 days or until all committers vote, or there is an objection/request for continuance - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][auth]LoginContext should always invoke the LoginModules?
Paulex Yang wrote: Hi, all I'm not a security expert, so please correct me if I miss something. I found some different behavior of Harmony and RI on javax.security.auth.login.LoginContext, the testcase[1] shows the difference. Actually I tried to create the event sequence like below: 1. create LoginContext with some Subject 2. LoginContext.login() and return successfully 3. Modify Subject's content to make it invalid(one Principal's name here, maybe passwd/username/servername in more general case) 4. LoginContext.login() again In RI, the second login() invocation really tried to invoke the relative LoginModule.login() and then failed to login with the modified Subject, but in Harmony, both invocations succeed. I consider RI's behavior is more reasonable. After a rough look of LoginContext implementation, I found the cause may be the Ln. 275 private void loginImpl() throws LoginException { if (loggedIn) { return; } } Seems Harmony won't invoke the LoginModule.login() again only if the login ever succeeds. If I comment out these lines, the test below passes happily. Any ideas on this issue? I've removed these lines at revision r451557 with regression test, please shout if anyone thinks the update harmful for some reason. [1] public class LoginContextTest extends TestCase { private static final String VALID_NAME = "name1"; private static final String INVALID_NAME = "name2"; public void testLogin() throws Exception{ MyPrincipal pri = new MyPrincipal(); HashSet set = new HashSet(); set.add(pri); Subject sub = new Subject(false, set, new HashSet(), new HashSet()); Configuration.setConfiguration(new MyConfig()); LoginContext context = new LoginContext("moduleName", sub); context.login(); pri.name = INVALID_NAME; try{ context.login(); fail("Should throw LoginException"); }catch(LoginException e){ } } static class MyConfig extends Configuration{ AppConfigurationEntry[] entries = new AppConfigurationEntry[]{new AppConfigurationEntry(MyModule.class.getName(), LoginModuleControlFlag.REQUIRED, new HashMap())}; public AppConfigurationEntry[] getAppConfigurationEntry(String name) { return entries; } public void refresh() { } } public static class MyModule implements LoginModule{ Subject sub; public void MyModule(){ } public boolean abort() throws LoginException { return false; } public boolean commit() throws LoginException { return true; } public void initialize(Subject arg0, CallbackHandler arg1, Map arg2, Map arg3) { sub = arg0; } public boolean login() throws LoginException { Principal[] pris = sub.getPrincipals().toArray(new Principal[0]); return VALID_NAME.equals(pris[0].getName()); } public boolean logout() throws LoginException { return false; } } public static class MyPrincipal implements Principal{ public String name = VALID_NAME; public String getName() { return name; } public String toString(){ return name; } }; } -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][doc]Recommend to remove trunk\doc\kernel_doc and trunk\doc\vm_doc from svn repository.
Geir Magnusson Jr. wrote: On Sep 29, 2006, at 1:03 PM, Paulex Yang wrote: Geir Magnusson Jr. wrote: I'm still pro stuffing the generated content into the svn fo the website, and then pushing that out, because in the next snapshot, I want to start getting into the habit of including the entire website generated docs (except tim's eclipse movie) in the tar file, so that users have information at the ready when they download. So +1 for : - getting the generated stuff out of classlib and drlvm trees - autogenerating as part of our CI - putting into SVN of website - publishing AFAIK, publishing to website still needs some manual work? (ssh, update or so) For now, yes, although with these new-fangled television-typewriters, I hear you can make them do things automatically. :) Really? Is it expensive? ;-) Back to document, do you mean to generate document into the standard/site instead of current enhanced/classlib/doc? I this this is good idea so that everyone can access the API document online. But I didn't catch up if you meant the publish should be automatically updated by CI? I thought the API document only needs manual update when necessary... geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][doc]Recommend to remove trunk\doc\kernel_doc and trunk\doc\vm_doc from svn repository.
Geir Magnusson Jr. wrote: On Sep 28, 2006, at 5:15 AM, Morozova, Nadezhda wrote: Do you think we can have the docs built on a regular basis (like, a script that triggers Doxygen build say 2 times a week + on demand to push updates if needed) and resulting docs stored on the website? This way, you don't have SVN versioning for auto-generated content and keep info available for all. I'm still pro stuffing the generated content into the svn fo the website, and then pushing that out, because in the next snapshot, I want to start getting into the habit of including the entire website generated docs (except tim's eclipse movie) in the tar file, so that users have information at the ready when they download. So +1 for : - getting the generated stuff out of classlib and drlvm trees - autogenerating as part of our CI - putting into SVN of website - publishing AFAIK, publishing to website still needs some manual work? (ssh, update or so) geir -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][test] Test input/output files location
Denis Kishenko wrote: I am going to fix some commented tests from java.awt.geom package. I have several organizational questions before start to do. 1. Where is the best place to put test resource files (golden files)? Testing conventions [1] keep silence about this. There are many such files located near the tests, for example modules\awt\src\test\api\java\common\java\awt\geom\shapes\* modules\awt\src\test\api\java\common\java\awt\shapes\* I cannot find it in the archive, but IIRC, this topic was discussed before, and the conclusion was they should be in the modules\awt\src\test\resources\ 2. Where is the best place to put test output files? Now it is modules\awt\bin\test\java\awt\shapes\output modules\awt\bin\test\java\awt\geom\shapes\output If they are used temporarily, they should be removed after the test execution, so IMHO the position is not so significant, but maybe the user temp directory is good place to go. [1] http://incubator.apache.org/harmony/subcomponents/classlibrary/testing.html -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[classlib][auth]LoginContext should always invoke the LoginModules?
Hi, all I'm not a security expert, so please correct me if I miss something. I found some different behavior of Harmony and RI on javax.security.auth.login.LoginContext, the testcase[1] shows the difference. Actually I tried to create the event sequence like below: 1. create LoginContext with some Subject 2. LoginContext.login() and return successfully 3. Modify Subject's content to make it invalid(one Principal's name here, maybe passwd/username/servername in more general case) 4. LoginContext.login() again In RI, the second login() invocation really tried to invoke the relative LoginModule.login() and then failed to login with the modified Subject, but in Harmony, both invocations succeed. I consider RI's behavior is more reasonable. After a rough look of LoginContext implementation, I found the cause may be the Ln. 275 private void loginImpl() throws LoginException { if (loggedIn) { return; } } Seems Harmony won't invoke the LoginModule.login() again only if the login ever succeeds. If I comment out these lines, the test below passes happily. Any ideas on this issue? [1] public class LoginContextTest extends TestCase { private static final String VALID_NAME = "name1"; private static final String INVALID_NAME = "name2"; public void testLogin() throws Exception{ MyPrincipal pri = new MyPrincipal(); HashSet set = new HashSet(); set.add(pri); Subject sub = new Subject(false, set, new HashSet(), new HashSet()); Configuration.setConfiguration(new MyConfig()); LoginContext context = new LoginContext("moduleName", sub); context.login(); pri.name = INVALID_NAME; try{ context.login(); fail("Should throw LoginException"); }catch(LoginException e){ } } static class MyConfig extends Configuration{ AppConfigurationEntry[] entries = new AppConfigurationEntry[]{new AppConfigurationEntry(MyModule.class.getName(), LoginModuleControlFlag.REQUIRED, new HashMap())}; public AppConfigurationEntry[] getAppConfigurationEntry(String name) { return entries; } public void refresh() { } } public static class MyModule implements LoginModule{ Subject sub; public void MyModule(){ } public boolean abort() throws LoginException { return false; } public boolean commit() throws LoginException { return true; } public void initialize(Subject arg0, CallbackHandler arg1, Map arg2, Map arg3) { sub = arg0; } public boolean login() throws LoginException { Principal[] pris = sub.getPrincipals().toArray(new Principal[0]); return VALID_NAME.equals(pris[0].getName()); } public boolean logout() throws LoginException { return false; } } public static class MyPrincipal implements Principal{ public String name = VALID_NAME; public String getName() { return name; } public String toString(){ return name; } }; } -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][launcher] I am looking at the interaction between {classlib, launcher, drlvm} and {hysock, hysig, hythread}
Weldon Washburn wrote: On 9/26/06, Leo Li <[EMAIL PROTECTED]> wrote: Hi, Weldon: The usage of the argument of portLibrary is for the function to call other functions of the port library if needed. The argument is just a virtual function table, as you said, can be any implemenatation of the HyPortLibrary struct, not only the HyPortLibrary struct the function belongs to. Of course, different HyPortLibrary might lead to different behavior of the function if the HyPortLibrary is used by it. I think the main purpose of the design is to alter some function of a specified HyPortLibrary struct flexibly, especially at runtime: What is necessary to do is just to change an entry in HyPortLibrary while the altered function can make use of other functions as well as other functions can use it. Am I all right?:) Hmmm... Interesting idea you have. Basically the idea is to rewrite the virtual function table _before_ any of the functions are used. This makes much more sense than the way drlvm currently boots up. By the way, is there any documentation that says what you are suggesting? In other words, was portlib specifically designed to do what you suggest? I think so, here below the part of portlib document at {harmony svn root}/enhanced/classlib/trunk/doc/vm_doc/html/group__Port.html "The port library is implemented as a table of function pointers. One advantage of a function pointer based table is the ability to replace any functionality without recompiling the entire Java virtual machine. For example if an application is experiencing a memory leak, the memory management functions of the port library can be replaced to help determine the root cause of this leak. Alternatively applications wishing to control all memory allocation can provide their own routines to override the platform specific allocation and deallocation of memory. Various implementations of the port library may choose not to implement all functionality contained in the port library table. If a platform does not support sockets, and thus the Java virtual machine does not utilize sockets, the port library does not need to provide a valid socket behavior. The port library contains version control information that enables applications to determine if required functionality is supported. In addition the version control information allows applications to determine if the port library provided is compatible with the one which they were compiled against." On 9/25/06, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > It looks like hysignal.c is using the right monitor enter/exit(). That > is, > the one > from drlvm/trunk/build/win_ia32_msvc_debug/deploy/jre/bin/hythr.dll > > However, a bunch of functions in classlib's hysignal.c have an incoming > argument of "HyPortLibrary *portlib". The portlib variable can either > point > to the original classlib portlib C struct. Or it can point to PORTLIB > which > is a C struct with all the entries nulled out (more on this later.) > > I think the next question to ask is what hysignal.c does with > the "HyPortLibrary *portlib" argument. If anyone knows, please tell us. > Otherwise I will keep digging. > > From stepping through DRLVM bootup, it looks like classlib's portlib is > _dropped_ in signalProtectMain(). Then launcher gpProtectedMain calls > invocation(PORTLIB,...) where PORTLIB is a nulled out HyPortLibrary C > struct. We need to put comments in the code describing the switch from > classlib's portlib to drlvm's nulled out version. > > On 9/22/06, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > > > All, > > Its not clear at this moment what threading implementation is being > > executed when hysignal.c calls hythread_monitor_enter(). If someone > > already knows, please tell us. Otherwise, I will step through it with > the > > debugger to find out what is going on. > > - Weldon > > > > -- > > Weldon Washburn > > Intel Middleware Products Division > > > > > > -- > Weldon Washburn > Intel Middleware Products Division > > -- Leo Li China Software Development Lab, IBM -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][doc]Recommend to remove trunk\doc\kernel_doc and trunk\doc\vm_doc from svn repository.
Leo Li wrote: Hi, all: I have fixed the script to generate vm_doc but there is a problem: the newly generated vm_doc will override the original one which is under control of svn. Thus it will lead to build failure since vm_doc lacks from the perspective of svn. LOL, is it a problem of build script? Since the content under the directories of trunk\doc\kernel_doc and trunk\doc\vm_doc can be generated accordingly, I recommend to remove them from svn control as the doc of classlib does. Hmm...just had a look at the classlib/trunk/doc directory, I agree that current structure is interesting, there are three config files for Doxygen: kernel/kernel.cfg, classlib/classlib.cfg and vminterface/natives.cfg(I guess, for kernel class, classlib and native vmi respectively), while only two directories with Doxygen genereated documents: kernel_doc and vm_doc. IMHO, there is no reason to put the Doxygen generated files into SVN, which just like .class compiled by javac. I vote to remove the two directories, and keep the config files only. And, maybe we can add a "build-doc" target in the classlib/trunk/build.xml to make document creation more handy. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] HARMONY-1410 : JDWP agent for DRLVM
+1 Geir Magnusson Jr. wrote: BCC and ACQs are in. What say ye? Would it be nice to debug using eclipse debugger in DRLVM? [ ] + 1 accept this contribution into the project [ ] -1 don't accept (please give reason) Vote runs usual 3 days unless protest or early completion. geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[classlib][math]three tests fail, anyone else see this?
Anyone else see these test errors of BigDecimalConstructorsTest? testConstrDoubleNaNFailureImproper exception message expected:<...e...> but was:<...y...> testConstrDoublePosInfinityFailureImproper exception message expected:<...e...> but was:<...y...> testConstrDoubleNegInfinityFailureImproper exception message expected:<...e...> but was:<...y...> I believe it is caused by the patch of i18n message properties, it returns "Infinity or NaN", I've updated it at revision r450333, but is it necessary to verify exception message so strictly like this? try { new BigDecimal(a); fail("NumberFormatException has not been caught"); } catch (NumberFormatException e) { assertEquals("Improper exception message", "Infinite or NaN", e.getMessage()); } -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] A non bug difference from RI?
Now I think I understand why RI locks ".lck" file instead of the log file itself - if the log file is locked, user cannot use another process(say, tail -f ***.log) to display the log file:(. So I'm going to update the FileHandler to follow RI if no one objects. Andrew Zhang wrote: Hi folks, When SecurityManager is enabled and all file permissions are disabled, RI fails to new a FileHandler while Harmony allows. Following test code shows the differences: public void test_FileHandler() throws Exception { FileHandler handler = new FileHandler(); SecurityManager originalSecurityManager = System.getSecurityManager (); try { System.setSecurityManager(new MockFileSecurityManager()); handler.publish(new LogRecord(Level.SEVERE, "msg")); // SecurityException is thrown here handler.close(); } finally { System.setSecurityManager(originalSecurityManager); } } public static class MockFileSecurityManager extends SecurityManager { public void checkPermission(Permission perm) { if (perm instanceof FilePermission) { System.out.println("check " + perm.getName()); throw new SecurityException(); } } } FileHandler.close() spec says "Throws: SecurityException - if a security manager exists and if the caller does not have LoggingPermission("control").", In the code above, control permission is allowed. The failure stack trace against RI looks like: java.lang.SecurityException at com.andrew.LoggingTest$MockFileSecurityManager.checkPermission( LoggingTest.java:131) at java.lang.SecurityManager.checkRead(SecurityManager.java:871) at java.io.File.exists(File.java:700) at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:401) at java.io.File.getCanonicalPath(File.java:531) at java.io.FilePermission$1.run(FilePermission.java:218) at java.security.AccessController.doPrivileged(Native Method) at java.io.FilePermission.init(FilePermission.java:212) at java.io.FilePermission.(FilePermission.java:264) at java.lang.SecurityManager.checkDelete(SecurityManager.java:990) at java.io.File.delete(File.java:869) at java.util.logging.FileHandler.close(FileHandler.java:594) at com.andrew.LoggingTest.test_FileHandler(LoggingTest.java:121) ... The output is "check C:\Documents and Settings\myaccount\java0.log.lck" It seems RI tries to delete .lck file, but has no permission. ".lck" file is never mentioned in spec, and should be implementation detail. Current Harmony code never tries to lock a temp empty .lck file, so the test passes against Harmony. If we revise the MockSecurityManager a little, to allow .lck file permission, public void checkPermission(Permission perm) { if (perm instanceof FilePermission) { if (perm.getName().indexOf(".lck") == -1) { System.out.println("check " + perm.getName()); throw new SecurityException(); } } } The test will pass both against RI and Harmony. So I'd suggest to leave it as "non-bug difference from RI". Any comments? Thank you! -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][html] Differences with RI
Miguel Montes wrote: Hi, I fllled several JIRA issues more than three weeks ago, but they are still unassigned. (HARMONY-1272, 1349, 1350, 1395). We are working in the parser, and there are some issues that should be solved, such as the structure of ContentModel. I'd like to look at patches for 1349 and 1350 today, but 1395 is a contribution, so probably it needs Geir to raise a voting on it. And anyone interests to provide a patch for 1272? I would like to hear other people thoughts about this, particularly those from the developers of the existing javax.swing.text.html.parser code Regards Miguel Montes On 8/23/06, Alexey Petrenko <[EMAIL PROTECTED]> wrote: I think that filing JIRA issue is right way :) 2006/8/23, Miguel Montes <[EMAIL PROTECTED]>: > Hi: > We have found several differences between Harmony's implementation of > j.s.t.h.parser and the RI. I'm not sure if these should be reported > individually as JIRA issues, or should be discussed here. > > For instance, in j.s.t.h.p.Entity, the RI. encodes isParameter and isGeneral > in the type, which is a public field, while the current implementation in > Harmony uses two boolean fields. So, the value of a public field is > different in both implementations. > > Another case: > ContentModel: > > The method first() should return the element that must be the first element > to appear in a ContentModel. If it's not unique, the RI returns null. For > instance, for the following ContentModel: > > TITLE & ISINDEX? & BASE? > > Any of those elements could appear at the beggining of a valid matching > expression. So, the method first should return null, because there is not a > single element that could be considered as the unique one that can appear at > the head of a matching expression. Nevertheless, for this example (as for > some others), HARMONY-948 returned a value. For this example, a BASE value > was obtained. > > There are several more. Should we post them as separate JIRA issues, o as > one big issue, with the suggeste patches? > > > -- > Miguel Montes > > -- Alexey A. Petrenko Intel Middleware Products Division - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [continuum] BUILD FAILURE: Classlib/linux.ia32 Build/Test
ecking for depends/jars/xerces_2.8.0/xercesImpl.jar [exec] [echo] Checking for depends/jars/xerces_2.8.0/xml-apis.jar [exec] [echo] Checking for depends/jars/junit_3.8.2/junit.jar [exec] [echo] Checking for depends/jars/bcprov-jdk14-133/signed.bcprov.jar [exec] [echo] Checking for depends/jars/icu4j_3.4.4/icu4j_3_4_4.jar [exec] [echo] Checking for depends/jars/mx4j_3.0.1/mx4j.jar [exec] [echo] Checking for depends/jars/mx4j_3.0.1/mx4j-remote.jar [exec] [echo] Checking for depends/jars/ecj_3.2/ecj_3.2.jar [exec] [echo] Checking for depends/jars/jetty/jetty-6.0.0.jar [exec] BUILD FAILED [exec] /home/hybld/continuum-working-directory/6/classlib/build.xml:106: The following error occurred while executing this line: [exec] /home/hybld/continuum-working-directory/6/classlib/make/build-java.xml:216: The following error occurred while executing this line: [exec] /home/hybld/continuum-working-directory/6/classlib/make/depends.xml:55: The following error occurred while executing this line: [exec] /home/hybld/continuum-working-directory/6/classlib/make/depends.xml:180: ... [exec] Missing dependency. The jar from: [exec] http://www.ibiblio.org/maven2/jetty/jetty/6.0.0/jetty-6.0.0.jar [exec] should be downloaded to: [exec] depends/jars/jetty/jetty-6.0.0.jar [exec] Run "ant fetch-depends" to automatically fetch dependencies. [exec] Note: Some of Harmony's dependencies are licensed under terms other [exec] than the Apache License v2. [exec] Total time: 27 seconds BUILD FAILED /home/hybld/continuum-working-directory/6/build.xml:118: exec returned: 1 Total time: 32 seconds **** -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] HARMONY-1217 : JNI-style C header file generator (aka 'javah')
+1 Geir Magnusson Jr. wrote: All is in order and in SVN for Harmony-1217 wrt BCC and ACQ. Please vote to accept or reject this contribution into the Apache Harmony project : [ ] + 1 Accept [ ] -1 Reject (provide reason below) Lets let this run a minimum of 3 days unless a) someone states they need more time or b) we get all committer votes before then. geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] In applying the LogManager patch...
Geir Magnusson Jr. wrote: ... as suggested by Nikolay, I did run the tests $ cd modules/logging $ ant test and it was endless stacktraces, both before and after I made the modification. How do I know if I broke anything? I'm going to go forward with the patch as I don't see any harm, since Logger.global is supposed to be set via getLogger("global") anyway, so subsequent settings shouldn't harm. "ant test" in specific module directory returns "build successfully" even there is some tests fail, so I prefer to "ant -Dbuild.module=logging test" in classlib/trunk directory, which will check the test result and generate test report in html format. About the logging tests, probably because of the default java.util.logging.ErrorManager, wihch is used to handle the exception of associated handlers, and its default behavior is to print the error message to System.err, the solution I can imagine includes: redefine the System.err to sth. like /dev/null, or specify a customized ErrorManager. geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] NPE is thrown when the kernel tests are run on Windows at revision 448448
Vladimir Gorr wrote: > On 9/22/06, Paulex Yang <[EMAIL PROTECTED]> wrote: >> >> Vladimir Gorr wrote: >> > When I roll away the latest changes for Character.java (H-1500 >> *Refactor >> > some methods in java.lang.Character*) >> > this issue disappears. It means a clue is here. >> I've revert the update for HARMONY-1500 at revision r448784, please >> check if the problem disappears. > > > Yep, it helps and helped as I mentioned yet yesterday. > One thing I don't understand is why this problem exists only on Windows. > I mean all works fine w/o any changes for Linux. Can anybody explain me > this? Hmm...I have no idea yet, still struggling on the DRLVM+ICU4J environment so far, will back to this thread when I find something. > > Thanks, > Vladimir. > > >> >> > Gang, it'd be not bad to run DRLVM testing for any commits to SVN >> > repository. >> > Otherwise we will be very hard to catch any errors like this. Any >> > thoughts? >> > >> > Thanks, >> > Vladimir. >> > >> > >> > On 9/21/06, Vladimir Gorr <[EMAIL PROTECTED]> wrote: >> >> >> >> >> >> >> >> On 9/21/06, Spark Shen <[EMAIL PROTECTED]> wrote: >> >> > >> >> > Vladimir Gorr 写道: >> >> > > NPE is thrown for all kernel tests when testing is run on Windows >> at >> >> > > revision 448448: >> >> > > >> >> > > build.bat -Djunit.jar=%JUNIT_HOME%/junit-4.0.jar kernel.test >> >> > > >> >> > > ... >> >> > > [echo] RUNNING : java.lang.Class1_5Test >> >> > > [junit] java.lang.NullPointerException >> >> > > [junit] at com.ibm.icu.lang.UCharacter.getProperty >> (UCharacter.java >> >> > > :6073) >> >> > > >> >> > > [junit] at com.ibm.icu.lang.UCharacter.getType(UCharacter.java >> :2974) >> >> > > [junit] at >> com.ibm.icu.lang.UCharacter.isWhitespace(UCharacter.java >> >> > > :3162) >> >> > > [junit] at java.lang.Character.isWhitespace(Character.java:3091) >> >> > > [junit] at java.lang.Character.isWhitespace(Character.java:3078) >> >> > > [junit] at java.util.Properties.load(Properties.java:378) >> >> > > [junit] at java.util.PropertyResourceBundle .( >> >> > > PropertyResourceBundle.java:44) >> >> > > snipped >> >> > > >> >> > > Does anybody observe this issue? As for Linux all works fine. >> >> > I am looking into this issue. >> >> >> >> >> >> >> >> Is there any progress here? Did you managed to reproduce it? >> >> Same issue is also mentioned for other thread (*Trouble Building >> >> DRLVM*). >> >> >> >> Thanks in advance, >> >> Vladimir. >> >> >> >> Best regards >> >> > > >> >> > > Thanks, >> >> > > Vladimir. >> >> > > >> >> > >> >> > >> >> > -- >> >> > Spark Shen >> >> > China Software Development Lab, IBM >> >> > >> >> > >> >> > >> - >> >> > Terms of use : http://incubator.apache.org/harmony/mailing.html >> >> > To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> >> > For additional commands, e-mail: >> [EMAIL PROTECTED] >> >> > >> >> > >> >> >> > >> >> >> -- >> Paulex Yang >> China Software Development Lab >> IBM >> >> >> - >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][swing/awt] caffinemark shows that our graphics are sloooowwwww....
Geir Magnusson Jr. wrote: I've been playing a bit with caffinemark, and our numbers for everything except graphics are amazing. Convenient to post some results vs RI? I believe many ones(includes myself of course) would be very interest to see the numbers:) However, our graphics numbers are *terrible*. I was testing on Ubuntu. We need to fix this. Does anyone with familiarity with our swing/awt impl that could point us in the right direction? geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] tasks for new snapshot?
Geir Magnusson Jr. wrote: we should probably just fix that Character problem and then create a new HDK snapshot. We're not there for JRE yet, but no reason to hold back HDK. I've rolled back the update from HARMONY-1500, the original codes should work. I don't expect that problem can be fixed very soon (which may needs ICU4J's modification, if so we need to get agreement with ICU community even we find the cause and get a solution). geir On Sep 21, 2006, at 3:08 PM, Tim Ellison wrote: Sounds like the launcher issues have been resolved, and we are at least no worse off with handling JAVA_HOME than before. Is it just the HARMONY-1500 Character problem now that would prevent us from cutting a snapshot of code? Anything else I missed? Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] NPE is thrown when the kernel tests are run on Windows at revision 448448
Vladimir Gorr wrote: > When I roll away the latest changes for Character.java (H-1500 *Refactor > some methods in java.lang.Character*) > this issue disappears. It means a clue is here. I've revert the update for HARMONY-1500 at revision r448784, please check if the problem disappears. > > Gang, it'd be not bad to run DRLVM testing for any commits to SVN > repository. > Otherwise we will be very hard to catch any errors like this. Any > thoughts? > > Thanks, > Vladimir. > > > On 9/21/06, Vladimir Gorr <[EMAIL PROTECTED]> wrote: >> >> >> >> On 9/21/06, Spark Shen <[EMAIL PROTECTED]> wrote: >> > >> > Vladimir Gorr 写道: >> > > NPE is thrown for all kernel tests when testing is run on Windows at >> > > revision 448448: >> > > >> > > build.bat -Djunit.jar=%JUNIT_HOME%/junit-4.0.jar kernel.test >> > > >> > > ... >> > > [echo] RUNNING : java.lang.Class1_5Test >> > > [junit] java.lang.NullPointerException >> > > [junit] at com.ibm.icu.lang.UCharacter.getProperty (UCharacter.java >> > > :6073) >> > > >> > > [junit] at com.ibm.icu.lang.UCharacter.getType(UCharacter.java:2974) >> > > [junit] at com.ibm.icu.lang.UCharacter.isWhitespace(UCharacter.java >> > > :3162) >> > > [junit] at java.lang.Character.isWhitespace(Character.java:3091) >> > > [junit] at java.lang.Character.isWhitespace(Character.java:3078) >> > > [junit] at java.util.Properties.load(Properties.java:378) >> > > [junit] at java.util.PropertyResourceBundle .( >> > > PropertyResourceBundle.java:44) >> > > snipped >> > > >> > > Does anybody observe this issue? As for Linux all works fine. >> > I am looking into this issue. >> >> >> >> Is there any progress here? Did you managed to reproduce it? >> Same issue is also mentioned for other thread (*Trouble Building >> DRLVM*). >> >> Thanks in advance, >> Vladimir. >> >> Best regards >> > > >> > > Thanks, >> > > Vladimir. >> > > >> > >> > >> > -- >> > Spark Shen >> > China Software Development Lab, IBM >> > >> > >> > - >> > Terms of use : http://incubator.apache.org/harmony/mailing.html >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] NPE is thrown when the kernel tests are run on Windows at revision 448448
Geir Magnusson Jr. wrote: Do you think this is a drlvm issue or a classlib issue? I guess it is an integration issue, i.e., ICU4J's UCharacter needs to load some resources for initialization, while at that time on DRLVM, some necessary kernel classes haven't been inited, so that the UCharacter cannot load these properties sucessfully and leave them to null. I'll roll back the patch for Character temporarily if no one objects, and will look inside later(I need to checkout ICU4J's source at first ...). geir On Sep 21, 2006, at 1:07 AM, Vladimir Gorr wrote: NPE is thrown for all kernel tests when testing is run on Windows at revision 448448: build.bat -Djunit.jar=%JUNIT_HOME%/junit-4.0.jar kernel.test ... [echo] RUNNING : java.lang.Class1_5Test [junit] java.lang.NullPointerException [junit] at com.ibm.icu.lang.UCharacter.getProperty(UCharacter.java :6073) [junit] at com.ibm.icu.lang.UCharacter.getType(UCharacter.java:2974) [junit] at com.ibm.icu.lang.UCharacter.isWhitespace(UCharacter.java :3162) [junit] at java.lang.Character.isWhitespace(Character.java:3091) [junit] at java.lang.Character.isWhitespace(Character.java:3078) [junit] at java.util.Properties.load(Properties.java:378) [junit] at java.util.PropertyResourceBundle.( PropertyResourceBundle.java:44) snipped Does anybody observe this issue? As for Linux all works fine. Thanks, Vladimir. - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib]build failed on windows
Leo Li wrote: Hi, Paulex: I plan to fix the warning in module luni first if no one objects.:) Go ahead for it. On 9/21/06, Paulex Yang <[EMAIL PROTECTED]> wrote: Leo Li wrote: > Dear Geir: >I advise to use -Werror in Linux compiling but I am not sure of > the > side-effect. >I am now trying to know whether all the warning can be fixed in > Linux.:) Volunteer is welcome:). If the errors number is too large to be fixed in one run, I suggest to fix them one module by another. > > > > On 9/21/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: >> >> Sorry. My fault. Fixing now. >> >> I need to find settings to make gcc on linux enforce the same... >> >> geir >> >> On Sep 20, 2006, at 9:36 PM, Leo Li wrote: >> >> > Hi, all >> > I found that the classlib build fails on windows today. >> > I have tried to fixed it in File main.c >> > 1. move some declarations of variables to the top part of a >> > function. >> > at line 311: char *dirs[2]; >> > at line 1045: int found = 0; >> > int i=0; >> > at line 1067:int strLen >> > 2. comments out unused variable at line 1019: //UDATA >> > newPathLength; >> > -- >> > Leo Li >> > China Software Development Lab, IBM >> >> >> ----- >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib]build failed on windows
Leo Li wrote: Dear Geir: I advise to use -Werror in Linux compiling but I am not sure of the side-effect. I am now trying to know whether all the warning can be fixed in Linux.:) Volunteer is welcome:). If the errors number is too large to be fixed in one run, I suggest to fix them one module by another. On 9/21/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: Sorry. My fault. Fixing now. I need to find settings to make gcc on linux enforce the same... geir On Sep 20, 2006, at 9:36 PM, Leo Li wrote: > Hi, all > I found that the classlib build fails on windows today. > I have tried to fixed it in File main.c > 1. move some declarations of variables to the top part of a > function. > at line 311: char *dirs[2]; > at line 1045: int found = 0; > int i=0; > at line 1067:int strLen > 2. comments out unused variable at line 1019: //UDATA > newPathLength; > -- > Leo Li > China Software Development Lab, IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] JIRA 1492 Constructor of HashMap throw unexpected exception
Alexey Petrenko wrote: But we can create such test case for every difference in used methods between RI and Harmony. Right? Sure we can:), I guess the issue is just if it is necessary. I've described why I think it is necessary for HashMap's constructor in another post of this thread - HashMap is fundamental and widely used, so it should be tolerant; constructor is special, so it should be taken care of. 2006/9/20, Paulex Yang <[EMAIL PROTECTED]>: Alexey Petrenko wrote: > Are you trying to say that the methods in Harmony can use only methods > used in corresponding RI implementations? Let Spark speak for himself, but IMHO let's discuss the specific case before considering it as a rule, this is not yet another "reverse engineering", the testcase is clear, without injection or reflection, and the method under test is a constructor which invokes a public method, so that user may have risk cannot to init their subclass of HashMap. > > 2006/9/20, Spark Shen <[EMAIL PROTECTED]>: >> Spark Shen 写道: >> > Hi : >> > Following is the discussion about JIRA 1492, shall we discuss it here? >> > >> > public class SubMapTest extends TestCase { >> > public void testSubclass() { >> > HashMap map = new HashMap(); >> > map.put("a", "a"); >> > SubMap map2 = new SubMap(map); // Harmony will throw an unexpected >> > exception here. >> > } >> > } >> > >> > class SubMap extends HashMap { >> > >> > public V put(K key, V value) { >> > throw new RuntimeException(); >> > } >> > } >> > >> > >> > >Nathan Beyer >> > >Harmony's behavior may be different in this case, but I'm not sure I >> > would consider this a valid issue. What's a real use case for this >> > type of sub-classing? >> > [ Show » <http://issues.apache.org/jira/browse/HARMONY-1492> ] >> > Nathan Beyer >> > <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=nbeyer> >> > [18/Sep/06 08:41 PM] Harmony's behavior may be different in this case, >> > but I'm not sure I would consider this a valid issue. What's a real >> > use case for this type of sub-classing? >> > >> > >> <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=spark+shen>>Spark >> >> > Shen >> > >What if change the RuntimeException to UnsupportedOperationException? >> > [ Show » <http://issues.apache.org/jira/browse/HARMONY-1492> ] >> > spark shen >> > >> <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=spark+shen> >> > [18/Sep/06 08:48 PM] What if change the RuntimeException to >> > UnsupportedOperationException? >> > >> > >Alexey Petrenko >> > >I'm not sure that this is a valid issue to. >> > >As far as I understood the issue is that Harmony calls put method in >> > constructor while RI does not. Right? >> > >> > >If so I do not see any issue here. >> > >> I can not figure out what RI does. And please refer to JIRA 839, it >> reports similar use case. >> My point here is >> 1. we may not be able to predict how users will use our library. >> 2. Users could guess our implementation w/o difficulty, which >> contradicts the encapulation priciple. >> So I prefer to follow RI on this behavior. >> >> When changing to UnsupportedOperationException, the use case is more >> practical, since it is highly like that put operation is not supported. >> But it seems not so practical that this sub-hashMap can not be >> instantiated. May be one more assertion can convince you that this is >> bug. >> >> public class SubMapTest extends TestCase { >> public void testSubclass() { >> HashMap map = new HashMap(); >> map.put("a", "a"); >> SubMap map2 = new SubMap(map); >> assertEquals(1, map2.size()); >> } >> } >> >> class SubMap extends HashMap { >> public SubMap(Map m) { >> super(m); >> } >> >> public V put(K key, V value) { >> throw new RuntimeException(); >> } >> } >> >> Best regards >> >> -- >> Spark Shen >> China Software Development Lab, IBM >> >> >> - >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] JIRA 1492 Constructor of HashMap throw unexpected exception
Alexey Petrenko wrote: Are you trying to say that the methods in Harmony can use only methods used in corresponding RI implementations? Let Spark speak for himself, but IMHO let's discuss the specific case before considering it as a rule, this is not yet another "reverse engineering", the testcase is clear, without injection or reflection, and the method under test is a constructor which invokes a public method, so that user may have risk cannot to init their subclass of HashMap. 2006/9/20, Spark Shen <[EMAIL PROTECTED]>: Spark Shen 写道: > Hi : > Following is the discussion about JIRA 1492, shall we discuss it here? > > public class SubMapTest extends TestCase { > public void testSubclass() { > HashMap map = new HashMap(); > map.put("a", "a"); > SubMap map2 = new SubMap(map); // Harmony will throw an unexpected > exception here. > } > } > > class SubMap extends HashMap { > > public V put(K key, V value) { > throw new RuntimeException(); > } > } > > > >Nathan Beyer > >Harmony's behavior may be different in this case, but I'm not sure I > would consider this a valid issue. What's a real use case for this > type of sub-classing? > [ Show » <http://issues.apache.org/jira/browse/HARMONY-1492> ] > Nathan Beyer > <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=nbeyer> > [18/Sep/06 08:41 PM] Harmony's behavior may be different in this case, > but I'm not sure I would consider this a valid issue. What's a real > use case for this type of sub-classing? > > <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=spark+shen>>Spark > Shen > >What if change the RuntimeException to UnsupportedOperationException? > [ Show » <http://issues.apache.org/jira/browse/HARMONY-1492> ] > spark shen > <http://issues.apache.org/jira/secure/ViewProfile.jspa?name=spark+shen> > [18/Sep/06 08:48 PM] What if change the RuntimeException to > UnsupportedOperationException? > > >Alexey Petrenko > >I'm not sure that this is a valid issue to. > >As far as I understood the issue is that Harmony calls put method in > constructor while RI does not. Right? > > >If so I do not see any issue here. > I can not figure out what RI does. And please refer to JIRA 839, it reports similar use case. My point here is 1. we may not be able to predict how users will use our library. 2. Users could guess our implementation w/o difficulty, which contradicts the encapulation priciple. So I prefer to follow RI on this behavior. When changing to UnsupportedOperationException, the use case is more practical, since it is highly like that put operation is not supported. But it seems not so practical that this sub-hashMap can not be instantiated. May be one more assertion can convince you that this is bug. public class SubMapTest extends TestCase { public void testSubclass() { HashMap map = new HashMap(); map.put("a", "a"); SubMap map2 = new SubMap(map); assertEquals(1, map2.size()); } } class SubMap extends HashMap { public SubMap(Map m) { super(m); } public V put(K key, V value) { throw new RuntimeException(); } } Best regards -- Spark Shen China Software Development Lab, IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] JIRA 1492 Constructor of HashMap throw unexpected exception
issue is that Harmony calls put method in >>>> >>> constructor while RI does not. Right? >>> >>> >>>> If so I do not see any issue here. >>>> >> I can not figure out what RI does. And please refer to JIRA 839, it >> reports similar use case. >> My point here is >> 1. we may not be able to predict how users will use our library. >> 2. Users could guess our implementation w/o difficulty, which >> contradicts the encapulation priciple. >> So I prefer to follow RI on this behavior. >> >> When changing to UnsupportedOperationException, the use case is more >> practical, since it is highly like that put operation is not supported. >> But it seems not so practical that this sub-hashMap can not be >> instantiated. May be one more assertion can convince you that this is bug. >> >> public class SubMapTest extends TestCase { >> public void testSubclass() { >> HashMap map = new HashMap(); >> map.put("a", "a"); >> SubMap map2 = new SubMap(map); >> assertEquals(1, map2.size()); >> } >> } >> >> class SubMap extends HashMap { >> public SubMap(Map m) { >> super(m); >> } >> >> public V put(K key, V value) { >> throw new RuntimeException(); >> } >> } >> >> Best regards >> >> -- >> Spark Shen >> China Software Development Lab, IBM >> >> >> - >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build]Anyone else got these test errors of Pack200 like this?
Alex Blewitt wrote: Phew :-) You had me worried there for a moment ... :-) Alex. On 18/09/06, Paulex Yang <[EMAIL PROTECTED]> wrote: Pls. ignore it, cannot reproduce at r447234, probably I forgot "ant build" before running "ant -Dbuild.module=archive test". Sorry for the confusion caused. Paulex Yang wrote: > My build machine is WinXP SP2, Harmony classlib+IBM VME, at revision r > 447234, and I got 5 similar errors of > org.apache.harmony.archive.tests.internal.pack200.CodecTest like this: > > java.lang.NoSuchFieldError: > org/apache/harmony/archive/internal/pack200/Codec.BYTE1 at > org.apache.harmony.archive.tests.internal.pack200.CodecTest.testCodecToString(CodecTest.java:59) > at > java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) > > Any ideas or comments? > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build]Anyone else got these test errors of Pack200 like this?
Pls. ignore it, cannot reproduce at r447234, probably I forgot "ant build" before running "ant -Dbuild.module=archive test". Sorry for the confusion caused. Paulex Yang wrote: My build machine is WinXP SP2, Harmony classlib+IBM VME, at revision r 447234, and I got 5 similar errors of org.apache.harmony.archive.tests.internal.pack200.CodecTest like this: java.lang.NoSuchFieldError: org/apache/harmony/archive/internal/pack200/Codec.BYTE1 at org.apache.harmony.archive.tests.internal.pack200.CodecTest.testCodecToString(CodecTest.java:59) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Any ideas or comments? -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[build]Anyone else got these test errors of Pack200 like this?
My build machine is WinXP SP2, Harmony classlib+IBM VME, at revision r 447234, and I got 5 similar errors of org.apache.harmony.archive.tests.internal.pack200.CodecTest like this: java.lang.NoSuchFieldError: org/apache/harmony/archive/internal/pack200/Codec.BYTE1 at org.apache.harmony.archive.tests.internal.pack200.CodecTest.testCodecToString(CodecTest.java:59) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Any ideas or comments? -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [OLD JIRA]Deal with 780 866 1367 according to discussion
Well done, Spark! Spark Shen wrote: Hi All: Component attribute of JIRA 780 has been left as none, can any committer change it to [classlib]. Done. The patch has already outdated and seems incorrect, I will provide a new patch. Any specific comments for the reasons? According to the 'Fighting Old JIRA Issues' guideline, I suggest to change component of JIRA 866 from 'Non-bug differences from RI' into 'classlib'. Since RI's behavior make sense here. An arbitrary object will not be found in a 0-length array, no matter it is comparable or not. The attached patch is already outdated, I will attach a new patch if no one objects. And of course, I will comment it on the JIRA. Seems Nathan is faster than me;-) The patch acompany JIRA 1367 has not any test cases and already outdated, the patch should also be renewed. Go ahead, please, thank you. Best regards -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] Marking JIRA issues before creation of patches.
Denis Kishenko wrote: Most of wiki "module" pages were updated last time several months ago. Do they have actual information? It is easier for Wiki to be out-dated, that's why it needs to be taken care of more:). Specific for the "module" page, AFAIK, the 5.0 bring up work on many modules are almost complete, so I'm not surprised they are not updated actively now, while some others are under actively working, say, the excluded tests[1]. Actually I just meant that Wiki is a tool to record the interest and ToDos. [1] http://wiki.apache.org/harmony/Excluded_tests 2006/9/13, Paulex Yang <[EMAIL PROTECTED]>: Discussion on dev-list is generally first choice, I totally agree with that. Wiki is just supplement to record somewhat significant work needs longer time or relative big effort, for example, the luni page[2], as well as others, has shown to be very useful when several volunteers from different party worked together to bring the original luni contribution up to 5.0 compatible, especially when someone has interested in some component, the relevant page can be subscribed so that he/she can get update notification. Wiki is useful also because of mailing list's traffic, it's hard for new comer (and often for regular Harmony watcher) to see what's going on, what is most expected to contribute, etc, only in mailing list. Further, I guess many potential user may not visit dev-list at all... However, as others said for several times, it is not necessary to record everything on Wiki(even in list), and it is still good suggestion to discuss at the mailing list before/when trying to update Wiki. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vm] ArgoUML application crashes IBM VME
Oliver Deakin wrote: Thanks for the link Paulex - sorry it's taken a while to reply. I have added ArgoUML to the list of apps on the page you linked, and have put in the details at [1]. If there's anything that needs adding, please let me know. Nice page! Thank you:). Hopefully the problem can be fixed soon:). Regards, Oliver [1] http://wiki.apache.org/harmony/ArgoUML Paulex Yang wrote: Vladimir Gorr wrote: Yes, it makes sense, I think. Although I don't know what the right place is? there is a section named "what can it do"[1], and it would be very useful to add a new page for Argo on the test procedure/result/missing class etc, and add the link to that section. [1] http://wiki.apache.org/harmony/ClassLibrary Thanks, Vladimir. Regards, -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] Marking JIRA issues before creation of patches.
Denis Kishenko wrote: If I am going to work with whole module then "Harmony class library development status"[1] page is useful but if I want to work with several classes, for example fix some JAPI issues or make serious changes, then existing wiki page can't be used. Anyone can create detail page for some component, there already has been some, for example, luni page[2]. I agree with creating JIRA issue and sending notification to dev-list, but I think more detailed status list is necessary, not only modules but packages and classes too. Discussion on dev-list is generally first choice, I totally agree with that. Wiki is just supplement to record somewhat significant work needs longer time or relative big effort, for example, the luni page[2], as well as others, has shown to be very useful when several volunteers from different party worked together to bring the original luni contribution up to 5.0 compatible, especially when someone has interested in some component, the relevant page can be subscribed so that he/she can get update notification. Wiki is useful also because of mailing list's traffic, it's hard for new comer (and often for regular Harmony watcher) to see what's going on, what is most expected to contribute, etc, only in mailing list. Further, I guess many potential user may not visit dev-list at all... However, as others said for several times, it is not necessary to record everything on Wiki(even in list), and it is still good suggestion to discuss at the mailing list before/when trying to update Wiki. [1] http://wiki.apache.org/harmony/component_development_status [2] http://wiki.apache.org/harmony/LUNI 2006/9/7, Paulex Yang <[EMAIL PROTECTED]>: Geir Magnusson Jr. wrote: > Good. > > Also, don't just do things in JIRA. Add the comment in JIRA, but also > send something to the dev list. That way, people who are interested > will more easily notice and maybe offer to help, or such... +1, and for classlib, we have had some wiki pages[1]-[3] to list the ToDos and to record who is doing or has interest on what. [1] http://wiki.apache.org/harmony/component_development_status [2] http://wiki.apache.org/harmony/Excluded_tests [3] http://wiki.apache.org/harmony/ClassLibrary > > geir > > > Oleg Khaschansky wrote: >> Hi all, >> >> There were situations when several people started work on the same >> issue simultaneously. This happens because it is impossible to assign >> an issue to a non-committer. I suggest the following process to >> prevent these collisions: >> >> 1. If non-committer starts investigation and is pretty sure that he >> will proceed with the patch then he adds a comment like "starting >> investigation" to the JIRA issue. Maybe we should have a special >> keyword for this to make a search easier. >> 2. If for some reason he is unable to provide the patch, he adds a >> comment about this also. >> >> What do you think about this? >> >> -- >> Oleg >> >> - >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > --------- > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paulex Yang China Software Development Lab IBM ----- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] putting kernel.jar in jre/bin/default
Alexey Varlamov wrote: 2006/9/13, Paulex Yang <[EMAIL PROTECTED]>: Alexey Varlamov wrote: > Looks like sending my reply failed, here is a second try: > >> I'm not sure I catch up what you mean, about Emma, Harmony's current >> test coverage exclude list[1] shows that not all classes can be >> instrumented, I don't think it is due to the position of kernel classes. > > Paulex, > > I'm sorry for causing confusion - I was a bit wrong. I experienced > troubles with complete overriiding via "-Xbootclasspath:" argument, > and just prepending "-Xbootclasspath/p:" works OK. Not all kernel > classes are instrumented due to dependencies in instrumentation code > itself, this is of course different thing. Agreed. > >> >> Further, for the special requirement(instrument, AOP, or so), anything >> prevent the user to add "-Xbootclasspath/p" to replace the kernel class >> implementation? Or, what's the difference on this between RI and current >> Harmony? > > So the difference is that for "-Xbootclasspath:", launcher+j9 always > stealthily prepend luni-kernel.jar to user-specified bootclasspath, > while RI allows fully custom bootclasspath. This is interesting. Yes, I think we should handle it, although it probably won't work to replace the kernel class implementation due to the VM dependency, we have no reason forbidding user to do this. Just had a look at how the normal bootclasspath(luni.jar, text.jar...) is processed, the interesting thing is they are loaded by JNI_OnLoad of hyluni.dll(libhyluni.so), with the source codes located in modules/luni/src/native/luni/shared/luniglob.c (It is interesting because I thought it was in launcher, but maybe the original author had similar issues to get the absolute path of jre/lib/boot). And it takes a straightforward way to handle the "-Xbootclasspath": if this argument is passed in command line, just give up parsing the default bootclasspath. I have two thoughts on this: 1. If this is acceptable, we can deal with kernel class in similar way. 2. Supposing we can have better solution to locate the jre path, is there any chance to merge the both bootclasspath handling(kernel and normal) to launcher, so that it doesn't need to deal with bootclasspath twice? Or any other proposals? We had a discussion about this month ago [1], and the main argument against the launcher was "there may be several launchers, moreover bootclasspath has to be set for any application that calls JNI_CreateJavaVM". So no better place than luni natives was suggested for the shared part of the bootlclasspath. BTW, there is reliability fix HARMONY-1243 related to this and still unresolved... OK, I'll look at it. But as kernel classes packaging is VM-specific, the VM should take care of them. Evidently the same argument about launcher applies to kernels as well, so current way with harmonyvm.properties is a sort of workaround anyway. And to handle the "-Xbooclasspath:" issue, there should be double filtering: check user-supplied arguments then filter autoloaded ones from harmonyvm.properties. Smells not really good ;). That's what I meant... More logical would be to get rid of handling harmonyvm.properties in launcher entirely, leaving this to VM if it needs it. I thought about this, but launcher actually uses standard invocation API to create VM, so if VM's invocation API implementation takes care of the kernel class(which are part of Harmony VMI), it's a little difficult for VM vendor to provide an adaptive VM, adaptive here means it can adapt Harmony classlib as well as others without too much effort, say, GNU Classpath(or maybe Sun's Open Sourced Classlib). I still prefer to handle the Harmony VMI related things in *Harmony* Launcher. And anyway, if the normal bootclasspath should be taken care of in luni, while kernel bootclasspath must be dealed with elsewhere, the double filtering is hard to avoid, [1] http://thread.gmane.org/gmane.comp.java.harmony.devel/11776/focus=11818 > > -- > Alexey > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-ma
Re: [drlvm] putting kernel.jar in jre/bin/default
Alexey Varlamov wrote: Looks like sending my reply failed, here is a second try: I'm not sure I catch up what you mean, about Emma, Harmony's current test coverage exclude list[1] shows that not all classes can be instrumented, I don't think it is due to the position of kernel classes. Paulex, I'm sorry for causing confusion - I was a bit wrong. I experienced troubles with complete overriiding via "-Xbootclasspath:" argument, and just prepending "-Xbootclasspath/p:" works OK. Not all kernel classes are instrumented due to dependencies in instrumentation code itself, this is of course different thing. Agreed. Further, for the special requirement(instrument, AOP, or so), anything prevent the user to add "-Xbootclasspath/p" to replace the kernel class implementation? Or, what's the difference on this between RI and current Harmony? So the difference is that for "-Xbootclasspath:", launcher+j9 always stealthily prepend luni-kernel.jar to user-specified bootclasspath, while RI allows fully custom bootclasspath. This is interesting. Yes, I think we should handle it, although it probably won't work to replace the kernel class implementation due to the VM dependency, we have no reason forbidding user to do this. Just had a look at how the normal bootclasspath(luni.jar, text.jar...) is processed, the interesting thing is they are loaded by JNI_OnLoad of hyluni.dll(libhyluni.so), with the source codes located in modules/luni/src/native/luni/shared/luniglob.c (It is interesting because I thought it was in launcher, but maybe the original author had similar issues to get the absolute path of jre/lib/boot). And it takes a straightforward way to handle the "-Xbootclasspath": if this argument is passed in command line, just give up parsing the default bootclasspath. I have two thoughts on this: 1. If this is acceptable, we can deal with kernel class in similar way. 2. Supposing we can have better solution to locate the jre path, is there any chance to merge the both bootclasspath handling(kernel and normal) to launcher, so that it doesn't need to deal with bootclasspath twice? Or any other proposals? -- Alexey - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Nathan Beyer wrote: -Original Message- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 10:11 PM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Nathan Beyer wrote: For asserting NaN we should do something like this: assertTrue(Double.isNaN((code to return NaN)); I agree, it's much clear and concise. But I think the assertEquals() should be more defensive, for example, we may need to write test like this: assertEquals(some code may return NaN, some_other_code may return NaN, delta); I'm not sure that I would agree with that; NaN is a special value that's defined by its inequality with itself (d != d). In any case, the JUnit methods have worked like this for years, so their behavior couldn't change now. Of course not:). -Nathan -Original Message----- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 4:50 AM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib]volunteer to supply patches for old JIRAs
Tony Wu wrote: > so helpful suggestion, thank you Nathan. > According to Nathan's suggestion, I suggest we go ahead as below, > 1. verify all the issues without patch, supply a patch if possible. > 2. for the issues already has a patch, verify the reason why it was > ignored, > and then > a.write testcase if caused by lack of test. > b.supply another patch if the patch is out of date. > c.add comments to support it if the patch is ok. IIRC, there is a discussion related to "patch available" status, if it is opened, it would be easier to express "support":). > > > On 9/13/06, Nathan Beyer <[EMAIL PROTECTED]> wrote: >> >> Here are a few things that I think might help with getting through >> some of >> the older outstanding issues, as well as new ones. >> >> * If an issue is old (over a month???), then verify that it's still an >> issue >> with the latest code and note this with a JIRA comment. >> * Obviously posting patches is great, but patches without tests are >> almost >> always ignored. >> ** If you're posting an enhancement, post a patch that enhances the >> tests >> and make sure they pass on an RI. (I always make sure the test passes on >> the >> RI before considering the patch.) >> ** If you're posting a fix, post a patch that includes a regression >> test. >> (I >> always apply the test first, then run it to see it fail, then I look at >> the >> fix.) >> * If there's a particular JIRA issue that you would like fixed and a >> patch >> already exists, try applying the patch yourself, verify it and then >> add a >> comment supporting the patch. >> >> >> -Nathan >> >> > -Original Message- >> > From: Tony Wu [mailto:[EMAIL PROTECTED] >> > Sent: Tuesday, September 12, 2006 10:26 PM >> > To: harmony-dev@incubator.apache.org >> > Subject: Re: [classlib]volunteer to supply patches for old JIRAs >> > >> > On 9/13/06, Spark Shen <[EMAIL PROTECTED]> wrote: >> > > >> > > Tony Wu 写道: >> > > > Hi all, >> > > > I noticed there're many unresolved JIRAs posted so long time. I >> > > > purpose to >> > > > dive into and find whether it is in my range and try to supply a >> patch >> > > > if no >> > > > one objects :) >> > > > Is there anyone alse has interest and would like to work with me? >> > > > >> > > Hi, >> > > It is interesting of your proposal. May I join in? >> > >> > >> > Great! Welcome! >> > >> > I noticed that there are many categories of components. I suggest we >> > > only deal with those components we are familier with. >> > > Since there are so many unresolved JIRAs, will you start from the >> > > beginning and I will start from the end. If someone else is >> interested, >> > > he/she may start from the middle. :-) >> > >> > >> > good idea, I'll start to look in descendent order of jira sn. >> > >> > >> > Best regards >> > > >> > > -- >> > > Spark Shen >> > > China Software Development Lab, IBM >> > > >> > > >> > > >> - >> > > Terms of use : http://incubator.apache.org/harmony/mailing.html >> > > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > > For additional commands, e-mail: >> [EMAIL PROTECTED] >> > > >> > > >> > >> > >> > -- >> > Tony Wu >> > China Software Development Lab, IBM >> >> >> - >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib]volunteer to supply patches for old JIRAs
Nathan Beyer wrote: > Here are a few things that I think might help with getting through some of > the older outstanding issues, as well as new ones. > > * If an issue is old (over a month???), then verify that it's still an issue > with the latest code and note this with a JIRA comment. > * Obviously posting patches is great, but patches without tests are almost > always ignored. > ** If you're posting an enhancement, post a patch that enhances the tests > and make sure they pass on an RI. (I always make sure the test passes on the > RI before considering the patch.) > ** If you're posting a fix, post a patch that includes a regression test. (I > always apply the test first, then run it to see it fail, then I look at the > fix.) > * If there's a particular JIRA issue that you would like fixed and a patch > already exists, try applying the patch yourself, verify it and then add a > comment supporting the patch. > > > -Nathan +1 from me, this is an excellent guide. Only one more thing: * If the JIRA/patch is debatable for any reasons (non-bug difference, break others, any other concerns...), don't hesitate to forward it to dev-list for discussion. And further, if possible, I suggest to look at related JIRAs in one run, for example, there may be several issues/patches related to ObjectOutputStream, if you fixed/updated one, another patch may be outdated, a better way is to link them and consider them together. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Nathan Beyer wrote: For asserting NaN we should do something like this: assertTrue(Double.isNaN((code to return NaN)); I agree, it's much clear and concise. But I think the assertEquals() should be more defensive, for example, we may need to write test like this: assertEquals(some code may return NaN, some_other_code may return NaN, delta); -Nathan -Original Message- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 4:50 AM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. Mikhail Loenko wrote: I see this on both linux and windows. anybody else seeing it? Class org.apache.harmony.luni.tests.java.lang.MathTest test_hypot_DD Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_hypot_DD(MathTest.java:277) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) 0.000 test_log1p_D Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_log1p_D(MathTest.java:323) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] putting kernel.jar in jre/bin/default
Alexey Varlamov wrote: 2006/9/11, Paulex Yang <[EMAIL PROTECTED]>: Alexey Varlamov wrote: > 2006/9/11, Geir Magnusson Jr. <[EMAIL PROTECTED]>: >> >> >> Evgueni Brevnov wrote: >> > On 9/9/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: >> >> There seems to be no easy solution, other than parse >> LD_LIBRARY_PATH or >> >> PATH... >> > >> > Is vmcore.dll (now harmonyvm.dll) and kernel.jar should always reside >> > in one directory? >> >> I was thinking about this for packaging - that way you can have : >> >> jre/ >> bin/ >> j9/ >> drlvm/ >> >> and setup a symlink if you wish. >> >> if we have kernel.jar in jre/lib/boot as we do now, it's must less >> convenient and probably error prone to switch back and forth. >> >> > If yes then we can take vmcore.dll base path as a >> > location of kerenel.jar. >> >> Sure - where will you get that? and what do you w/ .so's in unix? I've >> come to the conclusion that the only way will be to manually run the >> PATH (win) and LD_LIBRARY_PATH (linux) > > IIUC, j9 does this in astonishingly simple way - it just specifies > "-Xbootclasspath/p:%LAUNCHER_HOME%/default/luni-kernel.jar" in the > "/harmonyvm.properties" file, and the launcher does the rest. > Namely, it automatically reads that file, replaces %LAUNCHER_HOME% > with actual location and feeds extra arguments to VM among user's > ones. > This solution looks sufficient for now, but it seems to be only > partial: it does not work for pure Invocation API > usecase.Besides,those hardcoded arguments to VM appear confusing in > some cases - e.g. > it is impossible to override kernel.jar via command-line. Is it necessary to override the kernel.jar via command-line? The kernel class is provided by VM, so it is natural to locate it by VM specific property file. The first example which came to mind, how could you instrument the kernel classes, say for coverage analysis by emma or custom profiling? I'm sure there are more usecases, but anyway this is generally adopted behaviour and not following it may be far more disappointing than exception message incompatibility which we care so much ;) I'm not sure I catch up what you mean, about Emma, Harmony's current test coverage exclude list[1] shows that not all classes can be instrumented, I don't think it is due to the position of kernel classes. Further, for the special requirement(instrument, AOP, or so), anything prevent the user to add "-Xbootclasspath/p" to replace the kernel class implementation? Or, what's the difference on this between RI and current Harmony? [1] http://viv.byethost15.com/exclude.list > Also note hardcoded "default" vmdir. Agree, "default" should be replaced by some variables(%vmdir% or so), so it is easier to move VME to another directory. OK, I will file a JIRA for this. -- Regards, Alexey - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [drlvm] putting kernel.jar in jre/bin/default
Alexey Varlamov wrote: 2006/9/11, Geir Magnusson Jr. <[EMAIL PROTECTED]>: Evgueni Brevnov wrote: > On 9/9/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote: >> There seems to be no easy solution, other than parse LD_LIBRARY_PATH or >> PATH... > > Is vmcore.dll (now harmonyvm.dll) and kernel.jar should always reside > in one directory? I was thinking about this for packaging - that way you can have : jre/ bin/ j9/ drlvm/ and setup a symlink if you wish. if we have kernel.jar in jre/lib/boot as we do now, it's must less convenient and probably error prone to switch back and forth. > If yes then we can take vmcore.dll base path as a > location of kerenel.jar. Sure - where will you get that? and what do you w/ .so's in unix? I've come to the conclusion that the only way will be to manually run the PATH (win) and LD_LIBRARY_PATH (linux) IIUC, j9 does this in astonishingly simple way - it just specifies "-Xbootclasspath/p:%LAUNCHER_HOME%/default/luni-kernel.jar" in the "/harmonyvm.properties" file, and the launcher does the rest. Namely, it automatically reads that file, replaces %LAUNCHER_HOME% with actual location and feeds extra arguments to VM among user's ones. This solution looks sufficient for now, but it seems to be only partial: it does not work for pure Invocation API usecase.Besides,those hardcoded arguments to VM appear confusing in some cases - e.g. it is impossible to override kernel.jar via command-line. Is it necessary to override the kernel.jar via command-line? The kernel class is provided by VM, so it is natural to locate it by VM specific property file. Also note hardcoded "default" vmdir. Agree, "default" should be replaced by some variables(%vmdir% or so), so it is easier to move VME to another directory. As for the .so locations, I'm not sure if there is portable solution (parsing LD_LIBRARY_PATH looks error-prone). Maybe better solution would be leave this to user - for setting JAVA_HOME or such... -- Alexey -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] Put setInterruptAction() in our j.l.Thread stub?
Geir Magnusson Jr. wrote: This came up in another thread. Currently, java.nio.channels.spi.AbstractInterruptibleChannel depends on there being a setInterruptAction() method on java.lang.Thread. I certainly think that this kind of thing should be documented, so the question - should we add this to our Thread stub class? I think so, actually it has been added as part of patch for HARMONY-635 with documentations, but it was removed later for unknown reasons...I can recover it if no one objects. geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [general] Marking JIRA issues before creation of patches.
Geir Magnusson Jr. wrote: Good. Also, don't just do things in JIRA. Add the comment in JIRA, but also send something to the dev list. That way, people who are interested will more easily notice and maybe offer to help, or such... +1, and for classlib, we have had some wiki pages[1]-[3] to list the ToDos and to record who is doing or has interest on what. [1] http://wiki.apache.org/harmony/component_development_status [2] http://wiki.apache.org/harmony/Excluded_tests [3] http://wiki.apache.org/harmony/ClassLibrary geir Oleg Khaschansky wrote: Hi all, There were situations when several people started work on the same issue simultaneously. This happens because it is impossible to assign an issue to a non-committer. I suggest the following process to prevent these collisions: 1. If non-committer starts investigation and is pretty sure that he will proceed with the patch then he adds a comment like "starting investigation" to the JIRA issue. Maybe we should have a special keyword for this to make a search easier. 2. If for some reason he is unable to provide the patch, he adds a comment about this also. What do you think about this? -- Oleg - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][TestNG] groups of Harmony test
Vladimir Ivanov wrote: Do we really need in it? At present time tests were designed for win/unix only. I thought at least we have interest to port Harmony to these platforms[1]. [1] http://incubator.apache.org/harmony/roadmap.html#Porting%20Matrix -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib] internationalization and new patches
Ilya Okomin wrote: When I dealt with nio_char module I found that some messages were already marked with non-nls tag. (e.g. java.nio.charset.CharsetDecoder) These messages aren't described in the spec. Is there any reason to left them as is without internationalization? Specific to CharsetDecoder.replaceWith(), I don't believe there is any reason not to i18n the exception messages, I guess it was marked "non-nls" by mistake, or just because the developer didn't like to see the warning message;-). Please go ahead and provide patch for it. Thanks, Ilya. [SNIP] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] a test suite shouldn't touch any of JRE config files!!!
Stepan Mishura wrote: Paulex, thanks for your patience and answers. Yes, Sun's JRE sets root logger's level according to 'lib/logging.properties'. Also specifying the level for root logger in j.u.l.config.file doesn't help. (I assumed before that a JRE respects my "lovely" custom LogManager settings :-(! ) OK. Let's return to the initial issue: how to run logging tests without changing JRE config files? I still believe that there should be some elegant way for testing logging implementation without touching JRE files. I agreed this is not acceptable. AFAIK current LogManagerTest has used a MockLogManager in most test cases, so the migration should be relatively easy. For example, what about developing custom LogManager for testing? The testing manager will work in 2 modes: default configuration and custom configuration. A test will have a hook to switch testing manager's mode. The first configuration is read from JRE config files (by j.u.l.LogManager implementation) and the second one will be fully controlled by a test and is set by the test via some manager's method (say readConfiguration(InputStream)). Does this sound crazy? Maybe we just need one Support_Exec() invocation to verify if the LogManager reads the default logging properties(jre/lib/logging.properties) correctly(which should be straightforward by also loading and parsing that properties in test codes), for other tests, we always use customized LogManager or configuration files. If you are fine with this, I'm volunteer to refactor the tests. Thoughts? Other suggestions? Thanks, Stepan Mishura Intel Middleware Products Division -- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] A non bug difference from RI?
Stepan Mishura wrote: On 9/1/06, Paulex Yang wrote: Stepan Mishura wrote: > Andrew, thanks for the test. But working test doesn't mean that there > is no > bug :-) > > AFAIK in our case an operation on file (if file is not exist - create > file) > should be atomic. And it looks like Harmony implementation doesn't do in > atomic way.(see FileHandler.initOutputFiles() method) Seems there is a bug in the FileHandler.initOutputFiles(), in Ln. 232, if the FileLock isn't held, the FileOutputStream should be closed before continue. lock = channel.tryLock(); if (null == lock) { //the FileChannel(or FileOutputStream) should be closed here continue; } BTW, why FileNotFoundException is re-thrown in Ln. 223 ? IMO, try-catch block should be deleted. try { fileStream = new FileOutputStream(fileName, append); channel = fileStream.getChannel(); } catch(FileNotFoundException e){ //invalid path name, throw exception throw e; } Agree, fixed at revision r440292. But I didn't catch up what's the "atomic" means here, do you mean the tryLock() is not atomic or sth.? If so, any other solutions for Java codes? Otherwise, I think current implementation is fine, if two process try to open same log file at same time, only one process can get the lock by tryLock(), and the other will close the FileOutputStream then continue to try another log file name, anything I missed? I was confused by gaps in code between File.exists(), new FileOutputStream() and FileChannel.tryLock(). For example, I've tried to emulate the following situation: A process VM_1 is up to lock a created file (Ln.230) and in this time a process VM_2 found out that the file exists and deleted it (Ln.213). My current result is that the file is locked successfully but may be I incorrectly emulated situation. I'm going to continue experimenting and let you know if it is possible to create reproducible files conflict. Thanks, Stepan Mishura Intel Middleware Products Division -- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] a test suite shouldn't touch any of JRE config files!!!
Stepan Mishura wrote: On 9/4/06, *Paulex Yang* wrote: Stepan Mishura wrote: > On 9/1/06, Paulex Yang wrote: >> >> Stepan Mishura wrote: >> > Hi Andrew, >> > >> > I've just looked into static initialization block and then to the >> > spec. for >> > LogManager class. >> > My impression is that Harmony implementation doesn't follow the spec. >> > >> > The spec. says: "At startup the LogManager class is located using >> the ' >> > java.util.logging.manager' system property.By default, the LogManager >> > reads >> > its initial configuration from a properties file >> > "lib/logging.properties" in >> > the JRE directory" >> Stepan, >> >> I think the meaning of "By default" is debatable. Actually the spec >> looks like this: >> >> "At startup the LogManager class is located using the >> java.util.logging.manager system property. >> >> By default, the LogManager reads its initial configuration from a >> properties file "lib/logging.properties" in the JRE directory. If you >> edit that property file you can change the default logging configuration >> for all uses of that JRE. >> >> In addition, the LogManager uses two optional system properties that >> allow more control over reading the initial configuration: >> >>* "java.util.logging.config.class" >>* "java.util.logging.config.file"... >> >> " >> >> So I consider the "By default" doesn't necessarily means default case >> without " java.util.logging.manager" property, but means the default case >> without "java.util.logging.config.class/file" properties. >> >> A simple test on RI of specifying a customized MockLogManager by >> "j.u.l.manager" property shows the default "lib/logging.properties" does >> affect the behavior of the customized LogManager, say the root logger's >> level, etc. > > > Do you mean that RI resets the root logger's level of customized > LogManager > to default value from "lib/logging.properties"? Yes, so I think customized LogManager also needs to initialize itself in same procedure as j.u.l.LogManager. Hi Paulex, I've implemented custom LogManager (see attachment): it sets value for root logger's level different from default value(INFO). According to my test (see attachment) RI doesn't change level of root logger. The test prints the following: $java -classpath . MyTest INFO $java -classpath . -Djava.util.logging.manager=CustomLogManager MyTest SEVERE Did I missed something? Stepan, I run the test under Sun JDK 1.5.0_06 for WinXP, but I got "INFO" printed for both cases... Thanks, Stepan. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] a test suite shouldn't touch any of JRE config files!!!
Stepan Mishura wrote: On 9/1/06, Paulex Yang wrote: Stepan Mishura wrote: > Hi Andrew, > > I've just looked into static initialization block and then to the > spec. for > LogManager class. > My impression is that Harmony implementation doesn't follow the spec. > > The spec. says: "At startup the LogManager class is located using the ' > java.util.logging.manager' system property.By default, the LogManager > reads > its initial configuration from a properties file > "lib/logging.properties" in > the JRE directory" Stepan, I think the meaning of "By default" is debatable. Actually the spec looks like this: "At startup the LogManager class is located using the java.util.logging.manager system property. By default, the LogManager reads its initial configuration from a properties file "lib/logging.properties" in the JRE directory. If you edit that property file you can change the default logging configuration for all uses of that JRE. In addition, the LogManager uses two optional system properties that allow more control over reading the initial configuration: * "java.util.logging.config.class" * "java.util.logging.config.file"... " So I consider the "By default" doesn't necessarily means default case without "java.util.logging.manager" property, but means the default case without "java.util.logging.config.class/file" properties. A simple test on RI of specifying a customized MockLogManager by "j.u.l.manager" property shows the default "lib/logging.properties" does affect the behavior of the customized LogManager, say the root logger's level, etc. Do you mean that RI resets the root logger's level of customized LogManager to default value from "lib/logging.properties"? Yes, so I think customized LogManager also needs to initialize itself in same procedure as j.u.l.LogManager. Thanks, Stepan. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] signalis interruptus in hysock
This is a VMI extension introduced by HARMONY-635, and this modification was discussed before in a very long thread[1] But it's weird that, at revision r431077, it is removed, anyone knows why:-(. [1] http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200606.mbox/[EMAIL PROTECTED] Alexey Varlamov wrote: Guys, Probably I missed that thread on InterruptibleChannel implementation, but I've just hit on the following code in java.nio.channels.spi.AbstractInterruptibleChannel: static { try { setInterruptAction = AccessController .doPrivileged(new PrivilegedExceptionAction() { public Method run() throws Exception {return Thread.class.getDeclaredMethod("setInterruptAction",new Class[] { Runnable.class }); } }); setInterruptAction.setAccessible(true); } catch (Exception e) { // FIXME: be accomodate before VM actually provides // setInterruptAction method // throw new Error(e); } } There are no docs on j.l.Thread.setInterruptAction()... Does this code snippet relate to the subject of this discussion? -- Alexey 2006/8/31, Paulex Yang <[EMAIL PROTECTED]>: Geir Magnusson Jr. wrote: > Time to take another run at this since I didn't get any responses on > the drlvm thread. > > We have the problem that DRLVM uses SIGUSR2 in the thread manager (not > an unreasonable thing to do, I believe) but this results in knocking > threads out of select() in hysock.c (and I'm sure we'll see it in > other places.) > > Now, I'm not sure what the right course of action is. We have a > suggested patch from Artem that suggests we just ignore when the tread > is interrupted : > > --- modules/luni/src/main/native/port/linux/hysock.c > +++ modules/luni/src/main/native/port/linux/hysock.c > @@ -2570,11 +2570,16 @@ hysock_select (struct HyPortLibrary * po > I_32 rc = 0; > I_32 result = 0; > > - result = > + do > + { > +result = > select (nfds, readfds == NULL ? NULL : &readfds->handle, > writefds == NULL ? NULL : &writefds->handle, > exceptfds == NULL ? NULL : &exceptfds->handle, > timeout == NULL ? NULL : &timeout->time); > + } > + while (result == -1 && errno == EINTR); > + > if (result == -1) > { > rc = errno; IIRC, months ago similar approach was discussed in another thread for j.nio.channels.InterruptibleChannel implementation, but IMHO it can be a workaround but is not acceptable as a solution, because InterruptibleChannel is extensible by user application, i.e., user can implement their own interruptible blocking I/O easily without considering too much on thread sync issues, it's not reasonable to ask user writing codes within a loop like this. > > > this works, but I'm bothered by the fact that we're just blindly > ignoring signals like this. I also think that I need to go and do > this everywhere we have a non-restarted interruptable blocking system > call. > > Now, I'd like to get this fixed today, as it's high time for another > snapshot of the JRE and HDK, but w/o it, Tomcat runs for 2 seconds at > best :) > > So - does anyone have any other bright ideas? Why don't we see this > with J9?Would it be better to do a per-thread signal mask after > asking the thread manager what signal it's using du jour? (Andrey > noted that Sun allows one to change the signals used, apparently to > prevent collision w/ user code vi JNI, I guess...) > > geir > > > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] A non bug difference from RI?
Stepan Mishura wrote: Andrew, thanks for the test. But working test doesn't mean that there is no bug :-) AFAIK in our case an operation on file (if file is not exist - create file) should be atomic. And it looks like Harmony implementation doesn't do in atomic way.(see FileHandler.initOutputFiles() method) Seems there is a bug in the FileHandler.initOutputFiles(), in Ln. 232, if the FileLock isn't held, the FileOutputStream should be closed before continue. lock = channel.tryLock(); if (null == lock) { //the FileChannel(or FileOutputStream) should be closed here continue; } But I didn't catch up what's the "atomic" means here, do you mean the tryLock() is not atomic or sth.? If so, any other solutions for Java codes? Otherwise, I think current implementation is fine, if two process try to open same log file at same time, only one process can get the lock by tryLock(), and the other will close the FileOutputStream then continue to try another log file name, anything I missed? Thanks, Stepan. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][logging] a test suite shouldn't touch any of JRE config files!!!
Stepan Mishura wrote: Hi Andrew, I've just looked into static initialization block and then to the spec. for LogManager class. My impression is that Harmony implementation doesn't follow the spec. The spec. says: "At startup the LogManager class is located using the ' java.util.logging.manager' system property.By default, the LogManager reads its initial configuration from a properties file "lib/logging.properties" in the JRE directory" Stepan, I think the meaning of "By default" is debatable. Actually the spec looks like this: "At startup the LogManager class is located using the java.util.logging.manager system property. By default, the LogManager reads its initial configuration from a properties file "lib/logging.properties" in the JRE directory. If you edit that property file you can change the default logging configuration for all uses of that JRE. In addition, the LogManager uses two optional system properties that allow more control over reading the initial configuration: * "java.util.logging.config.class" * "java.util.logging.config.file"... " So I consider the "By default" doesn't necessarily means default case without "java.util.logging.manager" property, but means the default case without "java.util.logging.config.class/file" properties. A simple test on RI of specifying a customized MockLogManager by "j.u.l.manager" property shows the default "lib/logging.properties" does affect the behavior of the customized LogManager, say the root logger's level, etc. So if the property 'java.util.logging.manager' is not set a default implementation is used. The default implementation looks for ' java.util.logging.config.class' and 'java.util.logging.config.file' system properties, reads config from 'jre/lib/logging.properties' and so on. If the mentioned property is set then a custom LogManager class implementation is used. And it is up to the custom implementation how to load configuration. Right? But Harmony implementation follows default initialization procedure in any case. It loads the custom LogManager, looks for ' java.util.logging.config.class' and 'java.util.logging.config.file' system properties and if none of them are set and it forces the custom LogManager to read properties from 'jre/lib/logging.properties' file. Why? It is up to the custom implementation whether to read it or not. Did I missed something? Thanks, Stepan. -- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [classlib][luni] signalis interruptus in hysock
Geir Magnusson Jr. wrote: Time to take another run at this since I didn't get any responses on the drlvm thread. We have the problem that DRLVM uses SIGUSR2 in the thread manager (not an unreasonable thing to do, I believe) but this results in knocking threads out of select() in hysock.c (and I'm sure we'll see it in other places.) Now, I'm not sure what the right course of action is. We have a suggested patch from Artem that suggests we just ignore when the tread is interrupted : --- modules/luni/src/main/native/port/linux/hysock.c +++ modules/luni/src/main/native/port/linux/hysock.c @@ -2570,11 +2570,16 @@ hysock_select (struct HyPortLibrary * po I_32 rc = 0; I_32 result = 0; - result = + do + { +result = select (nfds, readfds == NULL ? NULL : &readfds->handle, writefds == NULL ? NULL : &writefds->handle, exceptfds == NULL ? NULL : &exceptfds->handle, timeout == NULL ? NULL : &timeout->time); + } + while (result == -1 && errno == EINTR); + if (result == -1) { rc = errno; IIRC, months ago similar approach was discussed in another thread for j.nio.channels.InterruptibleChannel implementation, but IMHO it can be a workaround but is not acceptable as a solution, because InterruptibleChannel is extensible by user application, i.e., user can implement their own interruptible blocking I/O easily without considering too much on thread sync issues, it's not reasonable to ask user writing codes within a loop like this. this works, but I'm bothered by the fact that we're just blindly ignoring signals like this. I also think that I need to go and do this everywhere we have a non-restarted interruptable blocking system call. Now, I'd like to get this fixed today, as it's high time for another snapshot of the JRE and HDK, but w/o it, Tomcat runs for 2 seconds at best :) So - does anyone have any other bright ideas? Why don't we see this with J9?Would it be better to do a per-thread signal mask after asking the thread manager what signal it's using du jour? (Andrey noted that Sun allows one to change the signals used, apparently to prevent collision w/ user code vi JNI, I guess...) geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] HARMONY-1225 : Assorted fixes and enhancements for AWT and Swing
+1 Geir Magnusson Jr wrote: All is in order and in SVN for Harmony-1225 wrt BCC and ACQ. Please vote to accept or reject this set of patches and fixes into the Apache Harmony class library : [ ] + 1 Accept [ ] -1 Reject (provide reason below) Lets let this run a minimum of 3 days unless a) someone states they need more time or b) we get all committer votes before then. geir - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]