From stefan.karlsson at oracle.com Fri Feb 1 00:13:27 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 09:13:27 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <50FE901F.4050806@oracle.com> References: <50FE901F.4050806@oracle.com> Message-ID: <510B7927.9090008@oracle.com> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ 1) Reverted the ProblemList change, since the fix has already propagaged to jdk8/tl 2) Renamed do_redefine -> doRedefine 3) Updated the .sh file with the bug number of the original CR instead of the test CR. thanks, StefanK On 2013-01-22 14:11, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ > > This test provokes the JVM crash described in bug: JDK-7174978. > > I intend to push this to: > http://hg.openjdk.java.net/jdk8/tl/jdk > > thanks, > StefanK > > From staffan.larsen at oracle.com Fri Feb 1 00:20:14 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 1 Feb 2013 09:20:14 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <510B4D00.1060209@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> <510B4D00.1060209@oracle.com> Message-ID: <8894A362-98B5-4123-9EE9-BA4801C27460@oracle.com> Thanks David! /Staffan On 1 feb 2013, at 06:05, David Holmes wrote: > Hi Staffan, > > First, please refrain from doing code cleanup (long line reformatting) alongside a fairly significant change - it makes the true changes harder to spot. Thanks. > > Based on our discussions this all looks good to me. > > Thanks, > David > > On 18/01/2013 5:48 AM, Staffan Larsen wrote: >> This is a request for review of a fix for SA on OS X. >> >> webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ >> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 >> >> The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. >> >> Thanks, >> /Staffan >> >> >> >> In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). >> >> The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. >> >> thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." >> >> My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. >> >> There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. >> >> So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). >> >> Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. >> >> This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. >> >> Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. >> >> From serguei.spitsyn at oracle.com Fri Feb 1 00:50:51 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 00:50:51 -0800 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B73A8.70401@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> Message-ID: <510B81EB.4080200@oracle.com> Ship it. Thanks, Serguei On 1/31/13 11:50 PM, Stefan Karlsson wrote: > On 2013-02-01 00:15, Coleen Phillimore wrote: >> >> Stefan, >> >> I just read through this test and it looks like a good test to me >> (but I'm not an expert and it took a while to figure out how it >> worked). I had two questions. Why does the same definition for >> @interface ParameterAnnotation {} appear in both >> RedefineMethodWithAnnotationTarget*.java files? Can't it be in it's >> own file and just once? Or is it different (didn't see any >> differences). > I've moved it to its own file now and added the needed extra > infrastructure to get test to work with that. > >> >> Also is do_redefine supposed to be doRedefine as per Java coding >> convention or is that a known variation? > > Fixed. It was the name used in the test that I copied the code from. > > http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ > > thanks, > StefanK >> >> Thanks, >> Coleen >> >> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>> >>> This test provoked the bug in: >>> 7022100: Method annotations are incorrectly set when redefining classes >>> >>> thanks, >>> StefanK >> > From stefan.karlsson at oracle.com Fri Feb 1 00:51:50 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 09:51:50 +0100 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B81EB.4080200@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> <510B81EB.4080200@oracle.com> Message-ID: <510B8226.7080506@oracle.com> On 2013-02-01 09:50, serguei.spitsyn at oracle.com wrote: > Ship it. Thanks! StefanK > > Thanks, > Serguei > > > On 1/31/13 11:50 PM, Stefan Karlsson wrote: >> On 2013-02-01 00:15, Coleen Phillimore wrote: >>> >>> Stefan, >>> >>> I just read through this test and it looks like a good test to me >>> (but I'm not an expert and it took a while to figure out how it >>> worked). I had two questions. Why does the same definition for >>> @interface ParameterAnnotation {} appear in both >>> RedefineMethodWithAnnotationTarget*.java files? Can't it be in >>> it's own file and just once? Or is it different (didn't see any >>> differences). >> I've moved it to its own file now and added the needed extra >> infrastructure to get test to work with that. >> >>> >>> Also is do_redefine supposed to be doRedefine as per Java coding >>> convention or is that a known variation? >> >> Fixed. It was the name used in the test that I copied the code from. >> >> http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ >> >> thanks, >> StefanK >>> >>> Thanks, >>> Coleen >>> >>> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>>> >>>> This test provoked the bug in: >>>> 7022100: Method annotations are incorrectly set when redefining >>>> classes >>>> >>>> thanks, >>>> StefanK >>> >> > From serguei.spitsyn at oracle.com Fri Feb 1 01:22:04 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 01:22:04 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B7927.9090008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> Message-ID: <510B893C.8030407@oracle.com> Nice test! It looks good. As the original bug and the test are non-trivial, it'd make sense to add a comment to the class RedefineMethodInBacktraceApp and explain a little bit what the test is doing, and what behavior is expected. Thanks, Sergueri On 2/1/13 12:13 AM, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ > > 1) Reverted the ProblemList change, since the fix has already > propagaged to jdk8/tl > 2) Renamed do_redefine -> doRedefine > 3) Updated the .sh file with the bug number of the original CR instead > of the test CR. > > thanks, > StefanK > > On 2013-01-22 14:11, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >> >> This test provokes the JVM crash described in bug: JDK-7174978. >> >> I intend to push this to: >> http://hg.openjdk.java.net/jdk8/tl/jdk >> >> thanks, >> StefanK >> >> > From stefan.karlsson at oracle.com Fri Feb 1 01:57:13 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 10:57:13 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B893C.8030407@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> Message-ID: <510B9179.5080809@oracle.com> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: > Nice test! > It looks good. Thanks for reviewing! > > As the original bug and the test are non-trivial, it'd make sense to > add a comment to > the class RedefineMethodInBacktraceApp and explain a little bit what > the test is doing, > and what behavior is expected. http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ Tell me if you think this is good enough. thanks, StefanK > > > Thanks, > Sergueri > > > On 2/1/13 12:13 AM, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >> >> 1) Reverted the ProblemList change, since the fix has already >> propagaged to jdk8/tl >> 2) Renamed do_redefine -> doRedefine >> 3) Updated the .sh file with the bug number of the original CR >> instead of the test CR. >> >> thanks, >> StefanK >> >> On 2013-01-22 14:11, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>> >>> This test provokes the JVM crash described in bug: JDK-7174978. >>> >>> I intend to push this to: >>> http://hg.openjdk.java.net/jdk8/tl/jdk >>> >>> thanks, >>> StefanK >>> >>> >> > From rickard.backman at oracle.com Fri Feb 1 01:59:30 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Fri, 1 Feb 2013 10:59:30 +0100 Subject: Request for review (XS): 8006563: Remove unused ProfileVM_lock In-Reply-To: <510B67BB.1030208@oracle.com> References: <8255E82F-3D7A-4826-BBA9-CC958F43C942@oracle.com> <50F94A4C.4040907@oracle.com> <55A7022D-F025-4D0A-B80A-B12686C78E7D@oracle.com> <50FCA114.7030908@oracle.com> <50FDC23C.1040204@oracle.com> <0AE6320D-3B03-4F2E-8E81-15B56740A727@oracle.com> <510B67BB.1030208@oracle.com> Message-ID: Thanks for the review, David. /R On Feb 1, 2013, at 7:59 AM, David Holmes wrote: > On 1/02/2013 4:54 PM, Rickard B?ckman wrote: >> That was the idea. >> However, can I have Ok for checking this into hs24 while waiting? > > Sorry - ignore the hs25 comment - been looking at too many JDK review requests. > > Yes this seems fine for hs24. > > David > >> Thanks >> /R >> >> On Jan 21, 2013, at 11:33 PM, David Holmes wrote: >> >>> On 22/01/2013 12:09 AM, Rickard B?ckman wrote: >>>> Yes, that code has changed. Checked in to hs24. >>> >>> Okay but this is a review for hs25 ;-) So I assume that change will be there "real soon now". :) >>> >>> David >>> >>>> /R >>>> >>>> 21 jan 2013 kl. 02:59 skrev David Holmes: >>>> >>>>> On 18/01/2013 11:45 PM, Rickard B?ckman wrote: >>>>>> Aleksey, >>>>>> >>>>>> thanks for your review! >>>>>> >>>>>> a) It was before on of my own changes used in os_solaris.cpp (I think, for synchronization support for Suspend/Resume). >>>>>> I don't think we wanted something external to mess with that lock. >>>>> >>>>> Seems to be used here: >>>>> >>>>> ./os/solaris/vm/os_solaris.cpp: >>>>> >>>>> 4265 GetThreadPC_Callback cb(ProfileVM_lock); >>>>> >>>>> Is this code already undergoing removal as part of the JFR changes? >>>>> >>>>> Thanks, >>>>> David >>>>> ----- >>>>> >>>>> >>>>>> b) I've changed the indentation slightly. >>>>>> Updated webrev at http://cr.openjdk.java.net/~rbackman/8006563.2/ (or at least currently copying?) >>>>>> >>>>>> /R >>>>>> >>>>>> On Jan 18, 2013, at 2:12 PM, Aleksey Shipilev wrote: >>>>>> >>>>>>> On 01/18/2013 04:58 PM, Rickard B?ckman wrote: >>>>>>>> http://cr.openjdk.java.net/~rbackman/8006563/ >>>>>>> >>>>>>> Looks good to me (not a Reviewer), modulo: >>>>>>> a) Are we sure this thing is not acquired in some weird way, i.e. >>>>>>> through JVMTI, SA, or whatnot? >>>>>>> b) The formatting of the predicate does not follow it's structure, I >>>>>>> think it should be: >>>>>>> ... >>>>>>> this != Interrupt_lock&& >>>>>>> !(this == Safepoint_lock&& >>>>>>> contains(locks, Terminator_lock)&& >>>>>>> SafepointSynchronize::is_synchronizing())) { >>>>>>> >>>>>>> This way it is more obvious SafepointSynchronize::is_synchronizing()) is >>>>>>> the !(...) group. >>>>>>> >>>>>>> -Aleksey. >>>>>> >> From serguei.spitsyn at oracle.com Fri Feb 1 03:11:00 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 03:11:00 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B9179.5080809@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> Message-ID: <510BA2C4.6040802@oracle.com> On 2/1/13 1:57 AM, Stefan Karlsson wrote: > On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >> Nice test! >> It looks good. > Thanks for reviewing! >> >> As the original bug and the test are non-trivial, it'd make sense to >> add a comment to >> the class RedefineMethodInBacktraceApp and explain a little bit what >> the test is doing, >> and what behavior is expected. > http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ > > Tell me if you think this is good enough. It is good. Nit: it'd be enough if it is more specific. :) This method is a key point: 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { 91 throwable.getStackTrace(); 92 } Is it true that the test expects the getStackTrace() does not crash nor throw an exception which would happen if the old/obsolete method is gc'ed? Thanks, Serguei > > thanks, > StefanK >> >> >> Thanks, >> Sergueri >> >> >> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>> >>> 1) Reverted the ProblemList change, since the fix has already >>> propagaged to jdk8/tl >>> 2) Renamed do_redefine -> doRedefine >>> 3) Updated the .sh file with the bug number of the original CR >>> instead of the test CR. >>> >>> thanks, >>> StefanK >>> >>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>> >>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>> >>>> I intend to push this to: >>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>> >>>> thanks, >>>> StefanK >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/50e5b5f9/attachment.html From stefan.karlsson at oracle.com Fri Feb 1 03:17:19 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 12:17:19 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA2C4.6040802@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> Message-ID: <510BA43F.5070008@oracle.com> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: > On 2/1/13 1:57 AM, Stefan Karlsson wrote: >> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>> Nice test! >>> It looks good. >> Thanks for reviewing! >>> >>> As the original bug and the test are non-trivial, it'd make sense to >>> add a comment to >>> the class RedefineMethodInBacktraceApp and explain a little bit what >>> the test is doing, >>> and what behavior is expected. >> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >> >> Tell me if you think this is good enough. > > It is good. > > Nit: it'd be enough if it is more specific. :) > This method is a key point: > 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { > 91 throwable.getStackTrace(); > 92 } > Is it true that the test expects the getStackTrace() does not crash nor > throw an exception which would happen if the old/obsolete method is gc'ed? I see. I'll add a comment that we shouldn't crash. Thanks, StefanK > > > Thanks, > Serguei > > >> >> thanks, >> StefanK >>> >>> >>> Thanks, >>> Sergueri >>> >>> >>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>> >>>> 1) Reverted the ProblemList change, since the fix has already >>>> propagaged to jdk8/tl >>>> 2) Renamed do_redefine -> doRedefine >>>> 3) Updated the .sh file with the bug number of the original CR >>>> instead of the test CR. >>>> >>>> thanks, >>>> StefanK >>>> >>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>> >>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>> >>>>> I intend to push this to: >>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>> >>>>> thanks, >>>>> StefanK >>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/edee5cec/attachment.html From stefan.karlsson at oracle.com Fri Feb 1 03:27:16 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 12:27:16 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA43F.5070008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> Message-ID: <510BA694.4000007@oracle.com> On 2013-02-01 12:17, Stefan Karlsson wrote: > On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>> Nice test! >>>> It looks good. >>> Thanks for reviewing! >>>> >>>> As the original bug and the test are non-trivial, it'd make sense >>>> to add a comment to >>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>> what the test is doing, >>>> and what behavior is expected. >>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>> >>> Tell me if you think this is good enough. >> >> It is good. >> >> Nit: it'd be enough if it is more specific. :) >> This method is a key point: >> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >> 91 throwable.getStackTrace(); >> 92 } >> Is it true that the test expects the getStackTrace() does not crash nor >> throw an exception which would happen if the old/obsolete method is >> gc'ed? > > I see. I'll add a comment that we shouldn't crash. http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ StefanK > > Thanks, > StefanK >> >> >> Thanks, >> Serguei >> >> >>> >>> thanks, >>> StefanK >>>> >>>> >>>> Thanks, >>>> Sergueri >>>> >>>> >>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>> >>>>> 1) Reverted the ProblemList change, since the fix has already >>>>> propagaged to jdk8/tl >>>>> 2) Renamed do_redefine -> doRedefine >>>>> 3) Updated the .sh file with the bug number of the original CR >>>>> instead of the test CR. >>>>> >>>>> thanks, >>>>> StefanK >>>>> >>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>> >>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>> >>>>>> I intend to push this to: >>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/34cf1ec7/attachment.html From serguei.spitsyn at oracle.com Fri Feb 1 03:39:17 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 01 Feb 2013 03:39:17 -0800 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA694.4000007@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> Message-ID: <510BA965.9010806@oracle.com> Stefan, Thank you for adding comments! Thanks, Serguei On 2/1/13 3:27 AM, Stefan Karlsson wrote: > On 2013-02-01 12:17, Stefan Karlsson wrote: >> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>> Nice test! >>>>> It looks good. >>>> Thanks for reviewing! >>>>> >>>>> As the original bug and the test are non-trivial, it'd make sense >>>>> to add a comment to >>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>> what the test is doing, >>>>> and what behavior is expected. >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>> >>>> Tell me if you think this is good enough. >>> >>> It is good. >>> >>> Nit: it'd be enough if it is more specific. :) >>> This method is a key point: >>> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >>> 91 throwable.getStackTrace(); >>> 92 } >>> Is it true that the test expects the getStackTrace() does not crash nor >>> throw an exception which would happen if the old/obsolete method is >>> gc'ed? >> >> I see. I'll add a comment that we shouldn't crash. > > http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ > > StefanK > >> >> Thanks, >> StefanK >>> >>> >>> Thanks, >>> Serguei >>> >>> >>>> >>>> thanks, >>>> StefanK >>>>> >>>>> >>>>> Thanks, >>>>> Sergueri >>>>> >>>>> >>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>> >>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>> propagaged to jdk8/tl >>>>>> 2) Renamed do_redefine -> doRedefine >>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>> instead of the test CR. >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>> >>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>> >>>>>>> I intend to push this to: >>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c59396aa/attachment-0001.html From david.holmes at oracle.com Fri Feb 1 03:48:15 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 01 Feb 2013 21:48:15 +1000 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BA694.4000007@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> Message-ID: <510BAB7F.4010609@oracle.com> Hi Stefan, This part of the test: 86 private static void doClassUnloading() { 87 // This will clean out old, unused redefined methods. 88 System.gc(); 89 } seems to make assumptions about System.gc() and class unloading. Are we relying on knowledge of hotspot internals here? I don't have a good suggestion to avoid this. This topic came up on another thread today regarding weak references. For that case we can typically add a loop and sleep until we see the reference clear, but here ... how can you check that class unloading occurred? Actually is that really what is happening - I don't see how any class unloading will occur here. I can imagine that GC might cleanup unreferenced methods. David On 1/02/2013 9:27 PM, Stefan Karlsson wrote: > On 2013-02-01 12:17, Stefan Karlsson wrote: >> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>> Nice test! >>>>> It looks good. >>>> Thanks for reviewing! >>>>> >>>>> As the original bug and the test are non-trivial, it'd make sense >>>>> to add a comment to >>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>> what the test is doing, >>>>> and what behavior is expected. >>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>> >>>> Tell me if you think this is good enough. >>> >>> It is good. >>> >>> Nit: it'd be enough if it is more specific. :) >>> This method is a key point: >>> 90 private static void touchRedefinedMethodInBacktrace(Throwable throwable) { >>> 91 throwable.getStackTrace(); >>> 92 } >>> Is it true that the test expects the getStackTrace() does not crash nor >>> throw an exception which would happen if the old/obsolete method is >>> gc'ed? >> >> I see. I'll add a comment that we shouldn't crash. > > http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ > > StefanK > >> >> Thanks, >> StefanK >>> >>> >>> Thanks, >>> Serguei >>> >>> >>>> >>>> thanks, >>>> StefanK >>>>> >>>>> >>>>> Thanks, >>>>> Sergueri >>>>> >>>>> >>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>> >>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>> propagaged to jdk8/tl >>>>>> 2) Renamed do_redefine -> doRedefine >>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>> instead of the test CR. >>>>>> >>>>>> thanks, >>>>>> StefanK >>>>>> >>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>> >>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>> >>>>>>> I intend to push this to: >>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > From stefan.karlsson at oracle.com Fri Feb 1 04:11:27 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Fri, 01 Feb 2013 13:11:27 +0100 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510BAB7F.4010609@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> <510B893C.8030407@oracle.com> <510B9179.5080809@oracle.com> <510BA2C4.6040802@oracle.com> <510BA43F.5070008@oracle.com> <510BA694.4000007@oracle.com> <510BAB7F.4010609@oracle.com> Message-ID: <510BB0EF.7090601@oracle.com> On 2013-02-01 12:48, David Holmes wrote: > Hi Stefan, > > This part of the test: > > 86 private static void doClassUnloading() { > 87 // This will clean out old, unused redefined methods. > 88 System.gc(); > 89 } > > seems to make assumptions about System.gc() and class unloading. Are > we relying on knowledge of hotspot internals here? Yes, we do. This is a regression test trying to provoke one very specific bug in HotSpot, so I figured that would be OK. I don't know any JVM agnostic way to do this. > > I don't have a good suggestion to avoid this. This topic came up on > another thread today regarding weak references. For that case we can > typically add a loop and sleep until we see the reference clear, but > here ... how can you check that class unloading occurred? Actually is > that really what is happening - I don't see how any class unloading > will occur here. I can imagine that GC might cleanup unreferenced > methods. I guess the name is not strictly correct, but we do the cleanup from the do_unloading code: ClassLoaderData::free_deallocate_list() ClassLoaderDataGraph::do_unloading SystemDictionary::do_unloading StefanK > > David > > On 1/02/2013 9:27 PM, Stefan Karlsson wrote: >> On 2013-02-01 12:17, Stefan Karlsson wrote: >>> On 2013-02-01 12:11, serguei.spitsyn at oracle.com wrote: >>>> On 2/1/13 1:57 AM, Stefan Karlsson wrote: >>>>> On 2013-02-01 10:22, serguei.spitsyn at oracle.com wrote: >>>>>> Nice test! >>>>>> It looks good. >>>>> Thanks for reviewing! >>>>>> >>>>>> As the original bug and the test are non-trivial, it'd make sense >>>>>> to add a comment to >>>>>> the class RedefineMethodInBacktraceApp and explain a little bit >>>>>> what the test is doing, >>>>>> and what behavior is expected. >>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.04/ >>>>> >>>>> Tell me if you think this is good enough. >>>> >>>> It is good. >>>> >>>> Nit: it'd be enough if it is more specific. :) >>>> This method is a key point: >>>> 90 private static void >>>> touchRedefinedMethodInBacktrace(Throwable throwable) { >>>> 91 throwable.getStackTrace(); >>>> 92 } >>>> Is it true that the test expects the getStackTrace() does not crash >>>> nor >>>> throw an exception which would happen if the old/obsolete method is >>>> gc'ed? >>> >>> I see. I'll add a comment that we shouldn't crash. >> >> http://cr.openjdk.java.net/~stefank/8006506/webrev.05/ >> >> StefanK >> >>> >>> Thanks, >>> StefanK >>>> >>>> >>>> Thanks, >>>> Serguei >>>> >>>> >>>>> >>>>> thanks, >>>>> StefanK >>>>>> >>>>>> >>>>>> Thanks, >>>>>> Sergueri >>>>>> >>>>>> >>>>>> On 2/1/13 12:13 AM, Stefan Karlsson wrote: >>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ >>>>>>> >>>>>>> 1) Reverted the ProblemList change, since the fix has already >>>>>>> propagaged to jdk8/tl >>>>>>> 2) Renamed do_redefine -> doRedefine >>>>>>> 3) Updated the .sh file with the bug number of the original CR >>>>>>> instead of the test CR. >>>>>>> >>>>>>> thanks, >>>>>>> StefanK >>>>>>> >>>>>>> On 2013-01-22 14:11, Stefan Karlsson wrote: >>>>>>>> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >>>>>>>> >>>>>>>> This test provokes the JVM crash described in bug: JDK-7174978. >>>>>>>> >>>>>>>> I intend to push this to: >>>>>>>> http://hg.openjdk.java.net/jdk8/tl/jdk >>>>>>>> >>>>>>>> thanks, >>>>>>>> StefanK >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> From yekaterina.kantserova at oracle.com Fri Feb 1 04:12:28 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 13:12:28 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <510BB12C.2030802@oracle.com> Hi everyone, Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ with following fixes compared to .00: * new line is added at the end of** the StreamPumper.java * is changed to {@code in the StreamPumper.java * JDKToolFinder.java will use the system property "java.home" instead of "test.jdk" (thus -compilejdk problem is solved) @Max Yes, the library can launch a Java process, wait for it to finish, and collect all the output (stdout and stderr). There is no client/server solution yet, but as soon as we have testlibrary a lot of good utility classes can be put there. This solution's use case is writing simple tests in jtreg without using shell scripts. JcmdBase.java is an example of how it works. class MyTest extends JcmdBase { ... public void verify() { OutputAnalyzer output = jcmd("VM.version"); output.shouldContain("Java HotSpot"); } ... } As I've mentioned before it's almost a copy of http://cr.openjdk.java.net/~ctornqvi/webrev/8006413/webrev.03/ which has been reviewed and approved and on the way in into hotspot/test. Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/7b2e0a0b/attachment.html From Alan.Bateman at oracle.com Fri Feb 1 04:32:12 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 12:32:12 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BB12C.2030802@oracle.com> References: <510BB12C.2030802@oracle.com> Message-ID: <510BB5CC.6050604@oracle.com> On 01/02/2013 12:12, Yekaterina Kantserova wrote: > Hi everyone, > > Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ > with following fixes compared to .00: > > * new line is added at the end of the StreamPumper.java > * is changed to {@code in the StreamPumper.java > * JDKToolFinder.java will use the system property "java.home" instead > of "test.jdk" (thus -compilejdk problem is solved) I see you've changed the package to jdk.testlibrary - thanks for doing that. On JDKToolFinder and finding the path to jcmd or other tools used by the test then it really depends what you are testing. What you have is fine when testing a JDK but it's not going to work when testing a JRE (runtime only, no tools). When testing a runtime then jtreg needs to invoked the -jdk and -compilejdk options (the latter being the JDK to use to compile the tests). So I think the right answer for JDKToolFinder is to use "compile.jdk". That will work when testing a JDK too as "compile.jdk" and "test.jdk" are set to the same value for that case. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/f592e194/attachment.html From yekaterina.kantserova at oracle.com Fri Feb 1 05:32:16 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 14:32:16 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BB5CC.6050604@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> Message-ID: <510BC3E0.6020107@oracle.com> On 02/01/2013 01:32 PM, Alan Bateman wrote: > On 01/02/2013 12:12, Yekaterina Kantserova wrote: >> Hi everyone, >> >> Here comes a http://cr.openjdk.java.net/~ykantser/8007142/webrev.01/ >> with following fixes compared to .00: >> >> * new line is added at the end of the StreamPumper.java >> * is changed to {@code in the StreamPumper.java >> * JDKToolFinder.java will use the system property "java.home" instead >> of "test.jdk" (thus -compilejdk problem is solved) > I see you've changed the package to jdk.testlibrary - thanks for doing > that. > Ops, I've forgotten to mention it. Thanks for pointing on it. > On JDKToolFinder and finding the path to jcmd or other tools used by > the test then it really depends what you are testing. What you have is > fine when testing a JDK but it's not going to work when testing a JRE > (runtime only, no tools). When testing a runtime then jtreg needs to > invoked the -jdk and -compilejdk options (the latter being the JDK to > use to compile the tests). So I think the right answer for > JDKToolFinder is to use "compile.jdk". That will work when testing a > JDK too as "compile.jdk" and "test.jdk" are set to the same value for > that case. I've done some testing before I've changed JDKToolFinder. Bellow are 2 cases: 1) *compile.jdk != test.jdk* ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk /localhome/java/jdk1.7.0_09 test.java test.jdk=../build/linux-amd64/j2sdk-image/jre compile.jdk=/localhome/java/jdk1.7.0_09 java.home=../build/linux-amd64/j2sdk-image/jre 2) *compile.jdk == test.jdk* ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk /localhome/java/jdk1.7.0_09 test.java test.jdk /localhome/java/jdk1.7.0_09 compile.jdk /localhome/java/jdk1.7.0_09 java.home /localhome/java/jdk1.7.0_09/jre It seems like test.jdk is always equal to java.home (besides /jre part). Are there some rules how -jdk and -compilejdk should be used? > > -Alan Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c4d483e3/attachment-0001.html From Alan.Bateman at oracle.com Fri Feb 1 06:20:11 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 14:20:11 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BC3E0.6020107@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> Message-ID: <510BCF1B.3010704@oracle.com> On 01/02/2013 13:32, Yekaterina Kantserova wrote: > > I've done some testing before I've changed JDKToolFinder. Bellow are 2 > cases: > > 1) *compile.jdk != test.jdk* > ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk > /localhome/java/jdk1.7.0_09 test.java > > test.jdk=../build/linux-amd64/j2sdk-image/jre > compile.jdk=/localhome/java/jdk1.7.0_09 > java.home=../build/linux-amd64/j2sdk-image/jre > > 2) *compile.jdk == test.jdk* > ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk > /localhome/java/jdk1.7.0_09 test.java > > test.jdk /localhome/java/jdk1.7.0_09 > compile.jdk /localhome/java/jdk1.7.0_09 > java.home /localhome/java/jdk1.7.0_09/jre > > It seems like test.jdk is always equal to java.home (besides /jre > part). Are there some rules how -jdk and -compilejdk should be used? Normally you specify the JDK/JRE to test via the -jdk option. When you only specify -jdk then you will see that test.jdk and compile.jdk have the same value. When testing a JRE then you need to specify both -jdk and -compilejdk, the latter being the JDK to use to compile the tests. In that scenario you will see that test.jdk and compile.jdk are different (as expected). -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/c410ae63/attachment.html From coleen.phillimore at oracle.com Fri Feb 1 06:33:36 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 01 Feb 2013 09:33:36 -0500 Subject: Review Request: 7140852: Add test for 7022100 In-Reply-To: <510B73A8.70401@oracle.com> References: <50FEA4B6.90507@oracle.com> <510AFAFC.2010808@oracle.com> <510B73A8.70401@oracle.com> Message-ID: <510BD240.2040909@oracle.com> Thank you for doing this. It looks good! Coleen On 2/1/2013 2:50 AM, Stefan Karlsson wrote: > On 2013-02-01 00:15, Coleen Phillimore wrote: >> >> Stefan, >> >> I just read through this test and it looks like a good test to me >> (but I'm not an expert and it took a while to figure out how it >> worked). I had two questions. Why does the same definition for >> @interface ParameterAnnotation {} appear in both >> RedefineMethodWithAnnotationTarget*.java files? Can't it be in it's >> own file and just once? Or is it different (didn't see any >> differences). > I've moved it to its own file now and added the needed extra > infrastructure to get test to work with that. > >> >> Also is do_redefine supposed to be doRedefine as per Java coding >> convention or is that a known variation? > > Fixed. It was the name used in the test that I copied the code from. > > http://cr.openjdk.java.net/~stefank/7140852/webrev.01/ > > thanks, > StefanK >> >> Thanks, >> Coleen >> >> On 01/22/2013 09:39 AM, Stefan Karlsson wrote: >>> http://cr.openjdk.java.net/~stefank/7140852/webrev.00/ >>> >>> This test provoked the bug in: >>> 7022100: Method annotations are incorrectly set when redefining classes >>> >>> thanks, >>> StefanK >> > From coleen.phillimore at oracle.com Fri Feb 1 06:35:00 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Fri, 01 Feb 2013 09:35:00 -0500 Subject: Review Request: 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests In-Reply-To: <510B7927.9090008@oracle.com> References: <50FE901F.4050806@oracle.com> <510B7927.9090008@oracle.com> Message-ID: <510BD294.6040601@oracle.com> Looks good! Coleen On 2/1/2013 3:13 AM, Stefan Karlsson wrote: > http://cr.openjdk.java.net/~stefank/8006506/webrev.03/ > > 1) Reverted the ProblemList change, since the fix has already > propagaged to jdk8/tl > 2) Renamed do_redefine -> doRedefine > 3) Updated the .sh file with the bug number of the original CR instead > of the test CR. > > thanks, > StefanK > > On 2013-01-22 14:11, Stefan Karlsson wrote: >> http://cr.openjdk.java.net/~stefank/8006506/webrev.00/ >> >> This test provokes the JVM crash described in bug: JDK-7174978. >> >> I intend to push this to: >> http://hg.openjdk.java.net/jdk8/tl/jdk >> >> thanks, >> StefanK >> >> > From yekaterina.kantserova at oracle.com Fri Feb 1 07:06:23 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Fri, 01 Feb 2013 16:06:23 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BCF1B.3010704@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> Message-ID: <510BD9EF.1050202@oracle.com> On 02/01/2013 03:20 PM, Alan Bateman wrote: > On 01/02/2013 13:32, Yekaterina Kantserova wrote: >> >> I've done some testing before I've changed JDKToolFinder. Bellow are >> 2 cases: >> >> 1) *compile.jdk != test.jdk* >> ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -compilejdk >> /localhome/java/jdk1.7.0_09 test.java >> >> test.jdk=../build/linux-amd64/j2sdk-image/jre >> compile.jdk=/localhome/java/jdk1.7.0_09 >> java.home=../build/linux-amd64/j2sdk-image/jre >> >> 2) *compile.jdk == test.jdk* >> ./build/linux-amd64/j2sdk-image/bin/java -jar jtreg.jar -jdk|-testjdk >> /localhome/java/jdk1.7.0_09 test.java >> >> test.jdk /localhome/java/jdk1.7.0_09 >> compile.jdk /localhome/java/jdk1.7.0_09 >> java.home /localhome/java/jdk1.7.0_09/jre >> >> It seems like test.jdk is always equal to java.home (besides /jre >> part). Are there some rules how -jdk and -compilejdk should be used? > Normally you specify the JDK/JRE to test via the -jdk option. When you > only specify -jdk then you will see that test.jdk and compile.jdk have > the same value. > > When testing a JRE then you need to specify both -jdk and -compilejdk, > the latter being the JDK to use to compile the tests. In that scenario > you will see that test.jdk and compile.jdk are different (as expected). > Thanks for explanation! But I'm still confused. In my use case I need to test /_the tool_/ I'll find with JDKToolFinder. It will work if just -jdk will be specified. But if -compilejdk happens to be specified the results of my tests will be useless. Furthermore, it would be hard to detect. Do you think there is a solution that covers all use cases? // Katja > -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/902af32b/attachment.html From Alan.Bateman at oracle.com Fri Feb 1 07:18:02 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 01 Feb 2013 15:18:02 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BD9EF.1050202@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> Message-ID: <510BDCAA.1080909@oracle.com> On 01/02/2013 15:06, Yekaterina Kantserova wrote: > > Thanks for explanation! But I'm still confused. > > In my use case I need to test /_the tool_/ I'll find with > JDKToolFinder. It will work if just -jdk will be specified. But if > -compilejdk happens to be specified the results of my tests will be > useless. Furthermore, it would be hard to detect. Do you think there > is a solution that covers all use cases? I don't think it make sense to specify -compilejdk and not -jdk. Does that help? -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/d798eb4f/attachment.html From kumar.x.srinivasan at oracle.com Fri Feb 1 07:29:14 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Fri, 01 Feb 2013 15:29:14 +0000 Subject: hg: jdk8/tl/jdk: 8006536: [launcher] removes trailing slashes on arguments Message-ID: <20130201152946.9565E47755@hg.openjdk.java.net> Changeset: ea8f3ca83501 Author: ksrini Date: 2013-02-01 07:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ea8f3ca83501 8006536: [launcher] removes trailing slashes on arguments Reviewed-by: ksrini, akhil Contributed-by: jviswana at linux.vnet.ibm.com ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java From jonathan.gibbons at oracle.com Fri Feb 1 08:34:22 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:34:22 +0000 Subject: hg: jdk8/tl/langtools: 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Message-ID: <20130201163425.41E2E4775A@hg.openjdk.java.net> Changeset: 8590c20af3ce Author: jjg Date: 2013-02-01 08:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8590c20af3ce 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From jonathan.gibbons at oracle.com Fri Feb 1 08:36:26 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 16:36:26 +0000 Subject: hg: jdk8/tl/langtools: 8007305: DPrinter: provide better usage message Message-ID: <20130201163629.5A50D4775B@hg.openjdk.java.net> Changeset: 6df931ce1a81 Author: jjg Date: 2013-02-01 08:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6df931ce1a81 8007305: DPrinter: provide better usage message Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java From yumin.qi at oracle.com Fri Feb 1 09:55:25 2013 From: yumin.qi at oracle.com (Yumin Qi) Date: Fri, 01 Feb 2013 09:55:25 -0800 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> Message-ID: <510C018D.2060104@oracle.com> Staffan, This looks good. One question is why not set it to _thread_id? is it because it is 64bit int and on other platforms 32 bits? os_bsd.cpp: 858 #ifdef __APPLE__ 859 osthread->set_thread_id(::mach_thread_self()); 860 osthread->set_unique_thread_id(locate_unique_thread_id()); 861 #else 862 osthread->set_thread_id(::pthread_self()); 863 #endif 864 osthread->set_pthread_id(::pthread_self()); I would like to remove #else part, my understanding is only SA uses _unique_thread_id. Thanks Yumin On 1/17/2013 11:48 AM, Staffan Larsen wrote: > This is a request for review of a fix for SA on OS X. > > webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 > > The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. > > Thanks, > /Staffan > > > > In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). > > The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. > > thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." > > My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. > > There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. > > So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). > > Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. > > This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. > > Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. > > From christian.tornqvist at oracle.com Fri Feb 1 09:53:58 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Fri, 01 Feb 2013 17:53:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8006413: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <20130201175409.D97F847763@hg.openjdk.java.net> Changeset: 9be6cde7919d Author: ctornqvi Date: 2013-01-25 10:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg Summary: Add a few utility classes to test/testlibrary to support multi process testing in jtreg tests. Added a test case for one of the utility classes. Also reviewed by Vitaly Davidovich Reviewed-by: brutisso, dholmes, vlivanov, nloodin, mgerdin + test/testlibrary/OutputAnalyzerTest.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java + test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java + test/testlibrary/com/oracle/java/testlibrary/OutputBuffer.java + test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/StreamPumper.java From daniel.daugherty at oracle.com Fri Feb 1 11:55:50 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 12:55:50 -0700 Subject: JVM/TI code review request (XS and M) (7182152) Message-ID: <510C1DC6.2010607@oracle.com> Greetings, I have a fix for the following JVM/TI bug: 7182152 Instrumentation hot swap test incorrect monitor count http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 https://jbs.oracle.com/bugs/browse/JDK-7182152 The fix for the bug in the product code is one line: src/share/vm/oops/klassVtable.cpp: @@ -992,18 +1020,50 @@ // RC_TRACE macro has an embedded ResourceMark RC_TRACE(0x00200000, ("itable method update: %s(%s)", new_method->name()->as_C_string(), new_method->signature()->as_C_string())); } - break; + // cannot 'break' here; see for-loop comment above. } ime++; } } } and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen already fixed the bug as part of the Perm Gen Removal (PGR) project in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR changeset. Many thanks to Coleen for her help in this bug hunt! The rest of the code in the webrevs are: - additional JVM/TI tracing code backported from Coleen's PGR changeset - additional JVM/TI tracing code added by me and forward ported to HSX-25 - a new -XX:TraceRedefineClasses=16384 flag value for finding these elusive old or obsolete methods - exposure of some printing code to the PRODUCT build so that the new tracing is available in a PRODUCT build You might be wondering why the new tracing code is exposed in a PRODUCT build. Well, it appears that more and more PRODUCT bits deployments are using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time to instrument their systems. This bug (7182152) was only intermittently reproducible in the WLS environment in which it occurred so I made the tracing available in a PRODUCT build to assist in the hunt. Raj from the WLS team has also verified that the HSX-23.6 version of fix resolves the issue in his environment. Thanks Raj! Here are the URLs for the three webrevs: http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ I have run the following test suites from the JPDA stack on the JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 specified: sdk-jdi sdk-jdi_closed sdk-jli vm-heapdump vm-hprof vm-jdb vm-jdi vm-jdwp vm-jvmti vm-sajdi The tested configs are: {Solaris-X86, WinXP} X {Client VM, Server VM} X {-Xmixed, -Xcomp} X {product, fastdebug} With the 1-liner fix in place, the new tracing code does not find any instances of this failure mode in any of the above test suites. Without the the 1-liner fix in place, the new tracing code finds one instance of this failure mode in the above test suites: test/java/lang/instrument/IsModifiableClassAgent.java There are two new tests that will be pushed to the JDK repos using a different bug ID (not yet filed): test/com/sun/jdi/RedefineAbstractClass.sh test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh There will be a separate review request for the new tests. I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 and JDK8-B75/HSX-25 versions of the fix. That testing will likely take all weekend to complete. Thanks, in advance, for any comments and/or suggestions. Dan From jonathan.gibbons at oracle.com Fri Feb 1 12:01:28 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 01 Feb 2013 20:01:28 +0000 Subject: hg: jdk8/tl/langtools: 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Message-ID: <20130201200134.8D09947773@hg.openjdk.java.net> Changeset: 0b1c88705568 Author: jjg Date: 2013-02-01 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0b1c88705568 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/api/8007344/Test.java From joe.darcy at oracle.com Fri Feb 1 13:01:38 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 01 Feb 2013 21:01:38 +0000 Subject: hg: jdk8/tl/langtools: 8001614: Include annotation type to documented supported-ness Message-ID: <20130201210141.910004777E@hg.openjdk.java.net> Changeset: 55cca2f38ee6 Author: darcy Date: 2013-02-01 13:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/55cca2f38ee6 8001614: Include annotation type to documented supported-ness Reviewed-by: alanb, jjg, tbell ! make/Makefile-classic ! make/build.properties + src/share/classes/jdk/Supported.java From alan.bateman at oracle.com Fri Feb 1 13:03:41 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Fri, 01 Feb 2013 21:03:41 +0000 Subject: hg: jdk8/tl/jdk: 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Message-ID: <20130201210353.A3A914777F@hg.openjdk.java.net> Changeset: 5e47ee4d7196 Author: alanb Date: 2013-02-01 21:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5e47ee4d7196 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java From john.coomes at oracle.com Fri Feb 1 14:03:03 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:03 +0000 Subject: hg: hsx/hotspot-rt: 54 new changesets Message-ID: <20130201220306.4E2FB47789@hg.openjdk.java.net> Changeset: c37401e77c80 Author: mchung Date: 2012-12-28 22:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c37401e77c80 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! common/bin/compare_exceptions.sh.incl Changeset: b845a2494261 Author: lana Date: 2013-01-01 12:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b845a2494261 Merge Changeset: 93b9664f97ee Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/93b9664f97ee Merge Changeset: 4090847a5444 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/4090847a5444 Added tag jdk8-b73 for changeset 93b9664f97ee ! .hgtags Changeset: 77f062a41850 Author: erikj Date: 2012-12-27 20:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/77f062a41850 8001942: build-infra: General permission problems on Windows/cygwin Summary: Added sanity check for file permissions in configure Reviewed-by: tbell, ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: d2c1f80118de Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d2c1f80118de 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! common/makefiles/IdlCompilation.gmk ! common/makefiles/JavaCompilation.gmk ! common/makefiles/MakeBase.gmk ! common/makefiles/NativeCompilation.gmk Changeset: d5f3a6f60d51 Author: erikj Date: 2012-12-27 20:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d5f3a6f60d51 8005548: build-infra: Fix docs target on windows Summary: Fix path sep variable Reviewed-by: tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: ef6adbf511cc Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ef6adbf511cc 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! NewMakefile.gmk ! common/autoconf/Makefile.in ! common/autoconf/generated-configure.sh + common/makefiles/Jprt.gmk ! common/makefiles/Main.gmk ! common/makefiles/MakeHelpers.gmk ! common/makefiles/Makefile Changeset: 2d9bb72b4e34 Author: erikj Date: 2012-12-30 12:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2d9bb72b4e34 8004490: build-infra: mac: hotspot is always built in product, regardless of --with-debug-level setting Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: abc8078e070b Author: erikj Date: 2013-01-01 14:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/abc8078e070b 8001895: build-infra: Make JDK_BUILD_NUMBER and MILESTONE customizable Summary: Added configure params Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/version.numbers Changeset: 14d7ebe42c8d Author: erikj Date: 2013-01-02 11:29 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/14d7ebe42c8d 8005347: build-infra: Verify 'gnumake source' at the top level works ok Reviewed-by: tbell, ohair, dholmes ! common/autoconf/basics.m4 - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in = common/autoconf/version-numbers < common/autoconf/version.numbers Changeset: 348a881c6da0 Author: erikj Date: 2013-01-02 15:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/348a881c6da0 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! common/autoconf/spec.gmk.in ! common/makefiles/Main.gmk Changeset: befbad2e4d87 Author: erikj Date: 2013-01-03 20:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/befbad2e4d87 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl ! common/makefiles/Jprt.gmk ! common/src/fixpath.c Changeset: 39194e004ade Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/39194e004ade 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! common/autoconf/compare.sh.in ! common/bin/compare.sh Changeset: 9263657c2756 Author: erikj Date: 2013-01-04 16:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/9263657c2756 8005692: build-infra: Target "all" should do the right thing Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: c874a8a27933 Author: erikj Date: 2013-01-04 17:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c874a8a27933 8005597: build-infra: bridgeBuild broken for pure openjdk build Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: 7b9c42f14281 Author: erikj Date: 2013-01-04 17:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7b9c42f14281 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! common/bin/compare.sh ! common/makefiles/JavaCompilation.gmk Changeset: 2597feac57c0 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2597feac57c0 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl Changeset: 5cf7750c8c43 Author: ohair Date: 2013-01-04 21:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5cf7750c8c43 8004229: build-infra: Umbrella for switch of default "make" to new makefiles Reviewed-by: erikj, tbell ! Makefile ! make/jprt.properties Changeset: 7a3c6ffdf1fb Author: tbell Date: 2013-01-07 14:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7a3c6ffdf1fb 8005442: autogen.sh sets DATE_WHEN_GENERATED to empty string on Solaris version 11 or later Reviewed-by: ohair ! common/autoconf/autogen.sh Changeset: 64a9ebad39fe Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/64a9ebad39fe Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: b284980b7d9a Author: tbell Date: 2013-01-08 16:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b284980b7d9a 8005794: in new infra, how do we change java -version? Summary: Added configure parameter --with-user-release-suffix Reviewed-by: ohair, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: db3984e4eb97 Author: erikj Date: 2013-01-10 12:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/db3984e4eb97 8005858: build-infra: Add missed comparison of sec-windows-bin.zip and friends to compare.sh Reviewed-by: tbell, ohair ! common/bin/compare.sh Changeset: 6f8f7a5449f6 Author: erikj Date: 2013-01-11 10:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6f8f7a5449f6 8005850: build-infra: Make --enable-openjdk-only really disable custom Reviewed-by: ohair, dholmes ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: b66c81dfa291 Author: ohair Date: 2013-01-14 16:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b66c81dfa291 8005284: build-infra: nonstandard copyright headers under common/autoconf/build-aux Reviewed-by: katleman ! common/autoconf/build-aux/autoconf-config.guess ! common/autoconf/build-aux/config.sub ! common/autoconf/build-aux/pkg.m4 Changeset: 3540aa40c868 Author: erikj Date: 2013-01-14 13:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/3540aa40c868 8006074: build-infra: Configure fails to find SetEnv.Cmd in microsoft sdk Reviewed-by: tbell, ohair ! common/autoconf/basics_windows.m4 ! common/autoconf/generated-configure.sh Changeset: 6e822b534678 Author: erikj Date: 2013-01-14 15:30 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6e822b534678 8006100: build-infra: Bundle up the correct images in jprt Reviewed-by: tbell ! NewMakefile.gmk ! common/makefiles/Jprt.gmk Changeset: 52cce3326649 Author: erikj Date: 2013-01-15 09:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/52cce3326649 Merge Changeset: fe1c94aca5a8 Author: katleman Date: 2013-01-15 10:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/fe1c94aca5a8 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: dc84b505b408 Author: katleman Date: 2013-01-16 22:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/dc84b505b408 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 50307da0149e Author: jqzuo Date: 2012-12-31 14:52 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/50307da0149e 8005583: Install build(gnumake all) failed preventing RE from doing JDK8 combo builds Reviewed-by: paulk, billyh ! make/install-rules.gmk Changeset: e5664599a127 Author: cgruszka Date: 2013-01-02 14:54 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e5664599a127 Merge Changeset: 75634cbeab47 Author: cgruszka Date: 2013-01-04 13:11 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/75634cbeab47 Merge Changeset: 61d7e2971723 Author: cgruszka Date: 2013-01-14 14:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/61d7e2971723 Merge Changeset: f9163f9cb1da Author: cgruszka Date: 2013-01-23 08:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/f9163f9cb1da Merge Changeset: 5a5e97f9ac0a Author: erikj Date: 2013-01-18 09:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5a5e97f9ac0a 8006520: build-infra: Fix sparkle-framework configure parameter Reviewed-by: tbell, ohair ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: edad83acbd46 Author: erikj Date: 2013-01-18 16:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/edad83acbd46 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot) Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: c3bf62746a80 Author: tbell Date: 2013-01-23 13:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/c3bf62746a80 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk Reviewed-by: ohair ! common/makefiles/Jprt.gmk Changeset: b43aa5bd8ca5 Author: katleman Date: 2013-01-23 15:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/b43aa5bd8ca5 Merge Changeset: cd2fa0d0ed3d Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cd2fa0d0ed3d Added tag jdk8-b74 for changeset b43aa5bd8ca5 ! .hgtags Changeset: 1129fb75f611 Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/1129fb75f611 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: cecfba251e4a Author: lana Date: 2013-01-16 11:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/cecfba251e4a Merge Changeset: 2e12a508d7ae Author: lana Date: 2013-01-20 23:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2e12a508d7ae Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/makefiles/javadoc/Javadoc.gmk Changeset: 8209c91b751d Author: sherman Date: 2013-01-22 21:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8209c91b751d 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! common/makefiles/javadoc/CORE_PKGS.gmk ! make/jprt.properties ! test/Makefile Changeset: 039783b67959 Author: lana Date: 2013-01-26 18:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/039783b67959 Merge Changeset: e28985c549aa Author: raginip Date: 2013-01-18 11:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/e28985c549aa 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! common/bin/compare_exceptions.sh.incl Changeset: db46b1c27a93 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/db46b1c27a93 Merge - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 8baaaba2ee6b Author: lana Date: 2013-01-29 20:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/8baaaba2ee6b Merge Changeset: 0d4b0a13adb2 Author: erikj Date: 2013-01-23 11:37 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/0d4b0a13adb2 8005855: build-infra: Remove -R flag when cross compiling Reviewed-by: dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/libraries.m4 Changeset: ea6379d4624f Author: erikj Date: 2013-01-23 11:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/ea6379d4624f 8006663: build-infra: Compare two arbitrary zip/jar files with compare.sh Reviewed-by: tbell ! common/bin/compare.sh Changeset: 0d46733cfffb Author: erikj Date: 2013-01-23 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/0d46733cfffb 8006658: build-infra: Make MILESTONE behave the same as JDK_BUILD_NUMBER Reviewed-by: ohrstrom, dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 9e5847257731 Author: erikj Date: 2013-01-24 09:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/9e5847257731 Merge Changeset: 2a713921952c Author: katleman Date: 2013-01-30 13:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/2a713921952c Merge ! common/autoconf/generated-configure.sh Changeset: 5b19cef637a6 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/5b19cef637a6 Added tag jdk8-b75 for changeset 2a713921952c ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:09 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:09 +0000 Subject: hg: hsx/hotspot-rt/corba: 3 new changesets Message-ID: <20130201220312.BFC034778A@hg.openjdk.java.net> Changeset: 2132845cf5f7 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/2132845cf5f7 Added tag jdk8-b73 for changeset 191afde59e7b ! .hgtags Changeset: d4e68ce17795 Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/d4e68ce17795 Added tag jdk8-b74 for changeset 2132845cf5f7 ! .hgtags Changeset: 4a6be02e66a3 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/4a6be02e66a3 Added tag jdk8-b75 for changeset d4e68ce17795 ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:18 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:18 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 11 new changesets Message-ID: <20130201220350.8F4E84778B@hg.openjdk.java.net> Changeset: cf0917c0d771 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/cf0917c0d771 Added tag jdk8-b73 for changeset 84946404d1e1 ! .hgtags Changeset: 278a2f60c55b Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/278a2f60c55b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxp.gmk Changeset: 2e4d87e6662e Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/2e4d87e6662e Merge Changeset: a317d3e1bbac Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/a317d3e1bbac Merge Changeset: 2087e24a4357 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/2087e24a4357 Merge Changeset: 69bc57b1ebdd Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/69bc57b1ebdd Added tag jdk8-b74 for changeset 2087e24a4357 ! .hgtags Changeset: 47738fa4d411 Author: dbuck Date: 2013-01-10 20:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/47738fa4d411 8003147: port fix for BCEL bug 39695 Summary: Added support for Local Variable Type Table so that BCEL library can be used to modify methods with generics-related debug data without violating class file format Reviewed-by: lancea ! src/com/sun/org/apache/bcel/internal/Constants.java ! src/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java + src/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Changeset: 06827097cdd3 Author: lana Date: 2013-01-16 12:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/06827097cdd3 Merge Changeset: 4e049aa2495f Author: lana Date: 2013-01-20 23:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/4e049aa2495f Merge Changeset: ff0b73a6b3f6 Author: lana Date: 2013-01-26 18:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/ff0b73a6b3f6 Merge Changeset: 8d65b381880b Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/8d65b381880b Added tag jdk8-b75 for changeset ff0b73a6b3f6 ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:03:54 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:03:54 +0000 Subject: hg: hsx/hotspot-rt/jaxws: 7 new changesets Message-ID: <20130201220411.3E1484778C@hg.openjdk.java.net> Changeset: 68f508979ffe Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/68f508979ffe Added tag jdk8-b73 for changeset c606f644a5d9 ! .hgtags Changeset: 51f3117e2b75 Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/51f3117e2b75 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxws.gmk Changeset: dd7473082690 Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/dd7473082690 Merge Changeset: b8fd32e44c26 Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/b8fd32e44c26 Merge Changeset: 12db3c5a3393 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/12db3c5a3393 Merge Changeset: 966bf9f3c41a Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/966bf9f3c41a Added tag jdk8-b74 for changeset 12db3c5a3393 ! .hgtags Changeset: a63ef2391c20 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/a63ef2391c20 Added tag jdk8-b75 for changeset 966bf9f3c41a ! .hgtags From john.coomes at oracle.com Fri Feb 1 14:07:35 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:07:35 +0000 Subject: hg: hsx/hotspot-rt/jdk: 149 new changesets Message-ID: <20130201223629.ADDAB4778F@hg.openjdk.java.net> Changeset: d54922883f4c Author: alexsch Date: 2013-01-09 16:52 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d54922883f4c 8005019: JTable passes row index instead of length when inserts selection interval Reviewed-by: serb, denis ! src/share/classes/javax/swing/JTable.java + test/javax/swing/JTable/8005019/bug8005019.java Changeset: b2c425d7e5be Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b2c425d7e5be Merge Changeset: 28b47ed08c63 Author: mchung Date: 2012-12-28 22:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/28b47ed08c63 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/common/Release.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/launchers/Makefile ! make/launchers/Makefile.launcher ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk Changeset: 3cc25d0e3bb0 Author: chegar Date: 2012-12-29 11:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3cc25d0e3bb0 8005556: java/net/Socks/SocksV4Test.java is missing @run tag Reviewed-by: alanb ! test/java/net/Socks/SocksV4Test.java Changeset: 38b9a7646093 Author: lana Date: 2013-01-01 17:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/38b9a7646093 Merge ! makefiles/CreateJars.gmk Changeset: cc78ceb99284 Author: jgish Date: 2012-12-28 16:56 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cc78ceb99284 8005118: Javadoc styles are inconsistent Summary: use a common javadoc style in the String classes Reviewed-by: darcy ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java ! src/share/classes/java/lang/StringIndexOutOfBoundsException.java Changeset: 21708d15553b Author: chegar Date: 2013-01-03 10:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/21708d15553b 8005634: tools/launcher/VersionCheck.java fails version check on jdeps Summary: add jdeps to the list of tools that do not support '-version' Reviewed-by: mchung ! test/tools/launcher/VersionCheck.java Changeset: 438d37d16417 Author: chegar Date: 2013-01-04 11:18 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/438d37d16417 8005659: Add tools/pack200/AttributeTests.java to exclude list (ProblemList.txt) until pack200 updated to support method parameters Reviewed-by: mchung, ksrini ! test/ProblemList.txt Changeset: 6d814b2f9112 Author: chegar Date: 2013-01-04 11:34 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d814b2f9112 8005638: Less secure Authentication schemes should work when more secure schemes are not available Reviewed-by: alanb ! src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java Changeset: 92c3b24a8e9a Author: smarks Date: 2013-01-04 16:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/92c3b24a8e9a 8005683: ProblemList.txt updates (01/2013) Reviewed-by: mchung, alanb Contributed-by: amy.lu at oracle.com ! test/ProblemList.txt Changeset: 0c89465b656a Author: chegar Date: 2013-01-05 17:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0c89465b656a 8005709: Add at since tags to new FJP getCommonPoolParallelism and commonPool Reviewed-by: dl ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 1d9638ba5202 Author: ksrini Date: 2013-01-07 09:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d9638ba5202 8004547: Extend JavaFX launcher support to allow full JavaFX launch feature set Reviewed-by: mchung, kcr, ksrini Contributed-by: david.dehaven at oracle.com ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! test/tools/launcher/FXLauncherTest.java Changeset: dbc692ea3f0a Author: bchristi Date: 2013-01-07 13:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dbc692ea3f0a 8003228: (props) sun.jnu.encoding should be set to UTF-8 [macosx] Summary: Hard-code sun.jnu.encoding to UTF-8 on Mac Reviewed-by: naoto ! src/share/native/java/lang/System.c ! src/solaris/native/java/lang/java_props_md.c + test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java + test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 797e8a3dcd51 Author: smarks Date: 2013-01-07 18:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/797e8a3dcd51 7187882: TEST_BUG: java/rmi/activation/checkusage/CheckUsage.java fails intermittently Summary: Tighten up JavaVM test library API, and adjust tests to match. Reviewed-by: mchung, dmocek ! test/ProblemList.txt ! test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/RMID.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/sun/rmi/runtime/Log/4504153/Test4504153.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/rmi/transport/tcp/DeadCachedConnection.java Changeset: 98935c514de4 Author: weijun Date: 2013-01-08 14:54 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/98935c514de4 8005447: default principal should act as anyone Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java + src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java + test/sun/security/krb5/ServiceCredsCombination.java + test/sun/security/krb5/auto/AcceptPermissions.java ! test/sun/security/krb5/auto/CleanState.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/DiffNameSameKey.java ! test/sun/security/krb5/auto/DynamicKeytab.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/auto/KeyTabCompat.java + test/sun/security/krb5/auto/TwoOrThree.java Changeset: d29a7ce28189 Author: dxu Date: 2013-01-08 20:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d29a7ce28189 8002306: (se) Selector.open fails if invoked with thread interrupt status set [win] Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/PipeImpl.java + test/java/nio/channels/Pipe/PipeInterrupt.java Changeset: 46e6a4b7ca26 Author: valeriep Date: 2013-01-07 11:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/46e6a4b7ca26 6996769: support AEAD cipher Summary: Added implementation for GCM mode under AES cipher Reviewed-by: weijun ! src/share/classes/com/sun/crypto/provider/AESCipher.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/CipherTextStealing.java ! src/share/classes/com/sun/crypto/provider/FeedbackCipher.java + src/share/classes/com/sun/crypto/provider/GCMParameters.java + src/share/classes/com/sun/crypto/provider/GCTR.java + src/share/classes/com/sun/crypto/provider/GHASH.java + src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/spec/GCMParameterSpec.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512524.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512704.java ! test/com/sun/crypto/provider/Cipher/AES/Test4517355.java ! test/com/sun/crypto/provider/Cipher/AES/Test4626070.java + test/com/sun/crypto/provider/Cipher/AES/TestGCMKeyAndIvCheck.java + test/com/sun/crypto/provider/Cipher/AES/TestKATForGCM.java ! test/javax/crypto/Cipher/GCMAPI.java Changeset: 5333a4c8cade Author: valeriep Date: 2013-01-07 14:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5333a4c8cade Merge Changeset: 3c5a62290939 Author: valeriep Date: 2013-01-08 11:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c5a62290939 8004044: Lazily instantiate SunJCE.RANDOM Summary: Replace the static initialization of SunJCE.RANDOM object w/ lazy initialization Reviewed-by: mchung ! src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java ! src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java ! src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/ISO10126Padding.java ! src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java ! src/share/classes/com/sun/crypto/provider/KeyProtector.java ! src/share/classes/com/sun/crypto/provider/PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/PBES1Core.java ! src/share/classes/com/sun/crypto/provider/PBES2Core.java ! src/share/classes/com/sun/crypto/provider/PBMAC1Core.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java Changeset: 9b6a29cb04ac Author: valeriep Date: 2013-01-08 13:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9b6a29cb04ac Merge Changeset: ac5fd681a7a2 Author: darcy Date: 2013-01-08 16:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ac5fd681a7a2 8005298: Add FunctionalInterface type to the core libraries Reviewed-by: mduigou + src/share/classes/java/lang/FunctionalInterface.java Changeset: 86828e84654f Author: mullan Date: 2013-01-08 19:00 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86828e84654f 7019834: Eliminate dependency from PolicyFile to com.sun.security.auth.PrincipalComparator Summary: Add new java.security.Principal.implies method Reviewed-by: alanb ! src/share/classes/java/security/Principal.java ! src/share/classes/sun/security/provider/PolicyFile.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/tools/policytool/PolicyTool.java + test/java/security/Principal/Implies.java ! test/sun/security/provider/PolicyFile/Comparator.java Changeset: bf6d0bca5ea7 Author: mullan Date: 2013-01-08 19:02 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf6d0bca5ea7 Merge - make/jdk/asm/Makefile - src/share/classes/sun/awt/TextureSizeConstraining.java - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: f0ed9ef84637 Author: mullan Date: 2013-01-09 08:59 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f0ed9ef84637 Merge Changeset: 4c8b37f159f9 Author: mchung Date: 2013-01-09 16:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4c8b37f159f9 7103957: NegativeArraySizeException while initializing class IntegerCache Reviewed-by: darcy, mchung Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/lang/Integer.java Changeset: 4176e6cc499e Author: darcy Date: 2013-01-09 20:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4176e6cc499e 8005713: Simplify library support for repeating annotations in java.lang.annotation Reviewed-by: abuckley + src/share/classes/java/lang/annotation/Repeatable.java Changeset: c622df692bfb Author: bchristi Date: 2013-01-10 10:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c622df692bfb 8005962: TEST_BUG: java/util/Properties/MacJNUEncoding can fail in certain environments Summary: Test script now sets LC_ALL, other small changes, relocate test Reviewed-by: naoto, alanb + test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java + test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 13ff1089e625 Author: jgish Date: 2013-01-10 15:09 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/13ff1089e625 8005582: java/lang/Runtime/exec/WinCommand.java intermittent test failures Summary: Remove file-deletion code at cleanup which conflicts with jtreg cleanup Reviewed-by: chegar ! test/java/lang/Runtime/exec/WinCommand.java Changeset: 3e906ccad412 Author: chegar Date: 2013-01-10 21:52 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3e906ccad412 8006007: j.u.c.atomic classes should use intrinsic getAndXXX provided by 7023898 Reviewed-by: dl, shade ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: 733885f57e14 Author: lana Date: 2013-01-10 15:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/733885f57e14 Merge Changeset: 965e89e2abd3 Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/965e89e2abd3 Added tag jdk8-b73 for changeset 733885f57e14 ! .hgtags Changeset: e91caf05f441 Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e91caf05f441 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileDemos.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyIntoClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcProperties.gmk ! makefiles/GensrcX11Wrappers.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: 368fa50469da Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/368fa50469da 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! makefiles/BuildJdk.gmk Changeset: 461b069100fa Author: erikj Date: 2013-01-02 15:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/461b069100fa 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/CreateJars.gmk + makefiles/SignJars.gmk Changeset: 3841da683703 Author: erikj Date: 2013-01-03 20:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3841da683703 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! make/common/shared/Defs-windows.gmk ! makefiles/BuildJdk.gmk ! makefiles/Bundles.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: a8d25b689563 Author: erikj Date: 2013-01-04 16:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a8d25b689563 8005694: build-infra: Cleanup of misc changes in build-infra Reviewed-by: tbell ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk Changeset: 3824d8469dcf Author: erikj Date: 2013-01-04 17:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3824d8469dcf 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: d98e73b7bc78 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d98e73b7bc78 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: 244e481f538b Author: katleman Date: 2013-01-08 13:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/244e481f538b Merge ! makefiles/CreateJars.gmk Changeset: 1868bde529b8 Author: ohrstrom Date: 2013-01-09 13:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1868bde529b8 8005096: Move a few source files in swing/beaninfo and in a demo. Reviewed-by: ohair, erikj, malenkov ! make/javax/swing/beaninfo/SwingBeans.gmk - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java + make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java + make/tools/swing-beans/sun/swing/BeanInfoUtils.java ! makefiles/CompileJavaClasses.gmk ! makefiles/GensrcSwing.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java Changeset: 2cc29d0b9eaf Author: erikj Date: 2013-01-09 16:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2cc29d0b9eaf 8005903: build-infra: bad symlink: j2sdk-bundle/jdk1.8.0.jdk/Contents/MacOS/libjli.dylib Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: f92ab6dbbff8 Author: erikj Date: 2013-01-10 12:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f92ab6dbbff8 8005856: build-infra: Remove special handling of base module classes header generation Reviewed-by: alanb, tbell, ohair Contributed-by: fredrik.ohrstrom at oracle.com ! makefiles/CompileJavaClasses.gmk ! src/share/classes/java/io/FileSystem.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/net/SocketOptions.java ! src/share/classes/sun/nio/ch/IOStatus.java ! src/windows/classes/sun/nio/ch/PollArrayWrapper.java Changeset: 4d80ab394efa Author: erikj Date: 2013-01-15 16:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d80ab394efa 8006296: build-infra: Unsigned sunmscapi.jar is missing manifest. Reviewed-by: alanb, tbell ! makefiles/CreateJars.gmk Changeset: 6d1a3d43851d Author: katleman Date: 2013-01-15 10:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d1a3d43851d Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 3eef1e0540c4 Author: erikj Date: 2013-01-16 16:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3eef1e0540c4 8006385: build-infra: linux and solaris *-debuginfo-*.zip file created from the new makefile has extra HUDSON direcotry in jre/lib/i386/server Reviewed-by: tbell ! makefiles/Import.gmk Changeset: 54bbeb149525 Author: katleman Date: 2013-01-16 22:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/54bbeb149525 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk ! src/share/classes/java/lang/Integer.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 6d849e883c40 Author: yhuang Date: 2013-01-13 18:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6d849e883c40 7114053: [sq] Inproper tanslation for iso lanugage of Albanian Reviewed-by: naoto ! src/share/classes/sun/util/resources/sq/LocaleNames_sq.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 2de23975ee10 Author: yhuang Date: 2013-01-15 19:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/2de23975ee10 Merge Changeset: 68fc838d5e89 Author: yhuang Date: 2013-01-16 19:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/68fc838d5e89 Merge Changeset: 595baf3cc781 Author: yhuang Date: 2013-01-16 23:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/595baf3cc781 Merge Changeset: 478d8354285a Author: erikj Date: 2013-01-18 16:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/478d8354285a 8006567: jre/lib/applet missing from Mac JDK installation Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: 92d8880d5406 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/92d8880d5406 8006583: build-infra: Remove /javax/swing/SwingBeanInfoBase.java from src.zip Reviewed-by: tbell ! makefiles/GensrcSwing.gmk Changeset: a9839ed93340 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a9839ed93340 Merge Changeset: 506bf3d23f06 Author: erikj Date: 2013-01-21 14:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/506bf3d23f06 8006579: build-infra: In jvm.cfg, alias -server to -client when no server jvm is built. Reviewed-by: tbell ! makefiles/CopyFiles.gmk Changeset: 57d5d9544628 Author: erikj Date: 2013-01-22 09:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/57d5d9544628 8004151: build-infra: Generating X11 wrapper offset file is not cross compilable Reviewed-by: dholmes, ohrstrom ! makefiles/GensrcX11Wrappers.gmk + src/solaris/classes/sun/awt/X11/generator/sizes.32 + src/solaris/classes/sun/awt/X11/generator/sizes.64 Changeset: ef592aceb40e Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ef592aceb40e Added tag jdk8-b74 for changeset 57d5d9544628 ! .hgtags Changeset: c6e8a518c3cd Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c6e8a518c3cd 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! make/docs/Makefile Changeset: c9308137ad9e Author: jjg Date: 2013-01-10 19:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9308137ad9e Merge - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 86c563dc70ca Author: darcy Date: 2013-01-10 21:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86c563dc70ca 8006062: Add @Repeatable to repeating annotations regression tests in JDK repo Reviewed-by: jjg ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java Changeset: 0ca2e39a110d Author: alanb Date: 2013-01-11 12:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0ca2e39a110d 8005566: (fs) test/java/nio/file/Files/Misc.java failing (sol) Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java ! test/java/nio/file/Files/Misc.java Changeset: 7da291690aa0 Author: alanb Date: 2013-01-11 20:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7da291690aa0 8005978: shell tests need to use the $COMPILEJDK for javac, jar and other tools Reviewed-by: chegar ! test/ProblemList.txt ! test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/java/io/FileOutputStream/FileOpen.sh ! test/java/io/Serializable/class/run.sh ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/maskSyntheticModifier/run.sh ! test/java/io/Serializable/packageAccess/run.sh ! test/java/io/Serializable/resolveClass/consTest/run.sh ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh ! test/java/io/Serializable/superclassDataLoss/run.sh ! test/java/io/Serializable/unnamedPackageSwitch/run.sh ! test/java/lang/Class/getEnclosingClass/build.sh ! test/java/lang/ClassLoader/Assert.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh ! test/java/lang/Thread/UncaughtExceptions.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/instrument/AppendToBootstrapClassPathSetUp.sh ! test/java/lang/instrument/AppendToClassPathSetUp.sh ! test/java/lang/instrument/BootClassPath/BootClassPathTest.sh ! test/java/lang/instrument/MakeJAR.sh ! test/java/lang/instrument/MakeJAR2.sh ! test/java/lang/instrument/MakeJAR3.sh ! test/java/lang/instrument/MakeJAR4.sh ! test/java/lang/instrument/ManifestTest.sh ! test/java/lang/instrument/ParallelTransformerLoader.sh ! test/java/lang/instrument/PremainClass/NoPremainAgent.sh ! test/java/lang/instrument/PremainClass/PremainClassTest.sh ! test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/instrument/RedefineClassWithNativeMethod.sh ! test/java/lang/instrument/RedefineMethodAddInvoke.sh ! test/java/lang/instrument/RedefineSetUp.sh ! test/java/lang/instrument/RetransformBigClass.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/closetest/build.sh ! test/java/net/URLClassLoader/getresourceasstream/test.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/net/URLConnection/UNCTest.sh ! test/java/nio/charset/spi/basic.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/security/cert/CertificateFactory/slowstream.sh ! test/java/util/Formatter/Basic.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ServiceLoader/basic.sh ! test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh ! test/java/util/prefs/PrefsSpi.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/script/CommonSetup.sh ! test/javax/script/ProviderTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/security/krb5/config/dns.sh ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/readjar.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/util/Oid/S11N.sh ! test/sun/security/validator/certreplace.sh ! test/sun/security/validator/samedn.sh ! test/tools/launcher/ClassPathWildCard.sh ! test/tools/launcher/MultipleJRE.sh Changeset: bc1f16f5566f Author: darcy Date: 2013-01-11 15:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bc1f16f5566f 7131459: [Fmt-De] DecimalFormat produces wrong format() results when close to a tie Reviewed-by: darcy Contributed-by: olivier.lagneau at oracle.com ! src/share/classes/java/text/DigitList.java ! src/share/classes/sun/misc/FloatingDecimal.java + test/java/text/Format/DecimalFormat/TieRoundingTest.java Changeset: 6f6246aced89 Author: sherman Date: 2013-01-11 22:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6f6246aced89 8005466: JAR file entry hash table uses too much memory (zlib_util.c) Summary: realign the fields of jzcell struct Reviewed-by: sherman Contributed-by: ioi.lam at oracle.com ! src/share/native/java/util/zip/zip_util.h Changeset: 8009c7e3899e Author: sherman Date: 2013-01-11 22:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8009c7e3899e Merge Changeset: 7db04ae3378f Author: chegar Date: 2013-01-13 22:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7db04ae3378f 8006153: HTTP protocol handler authenication should use Base64 API Reviewed-by: chegar, alanb Contributed-by: Mark Sheppard ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java Changeset: 1109bfff4e92 Author: dholmes Date: 2013-01-13 19:57 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1109bfff4e92 8005232: (JEP-149) Class Instance size reduction Summary: Moved the fields for cached reflection objects into a seperate ReflectionData object to reduce dynamic footprint. Reviewed-by: dholmes, mchung, shade Contributed-by: Peter Levart ! src/share/classes/java/lang/Class.java Changeset: 1d7a6adf499f Author: naoto Date: 2013-01-14 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d7a6adf499f 7162007: Clean up i18n related caches Reviewed-by: okutsu, ohair ! make/java/java/FILES_java.gmk ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_HK.java ! src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java ! src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java ! test/java/util/PluggableLocale/BreakIteratorProviderTest.java ! test/java/util/PluggableLocale/CollatorProviderTest.java ! test/java/util/PluggableLocale/CurrencyNameProviderTest.java ! test/java/util/PluggableLocale/DateFormatProviderTest.java ! test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/LocaleNameProviderTest.java ! test/java/util/PluggableLocale/NumberFormatProviderTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.java Changeset: dcb64d498d5b Author: ksrini Date: 2013-01-14 15:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dcb64d498d5b 8005252: pack200 should support MethodParameters Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/ProblemList.txt ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: edb7e34a0531 Author: xuelei Date: 2013-01-14 18:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/edb7e34a0531 8006265: Add test SSLEngineDeadlock.java to ProblemList Reviewed-by: weijun ! test/ProblemList.txt Changeset: a40052a54801 Author: uta Date: 2013-01-15 14:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a40052a54801 8005250: Downgrade normative references to ${java.home}/lib folder from Java client code. Summary: Javadoc was changed in accordance with CCC-8005250 request. Reviewed-by: alanb, amenkov ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/javax/imageio/spi/IIORegistry.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/sampled/AudioSystem.java ! src/share/classes/javax/swing/UIManager.java Changeset: 4b012af44f24 Author: chegar Date: 2013-01-15 11:44 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4b012af44f24 8005406: HTTP server implementation should use Base64 API Reviewed-by: khazra, alanb, chegar Contributed-by: Mark Sheppard ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java Changeset: 44d6cabc9a3f Author: robm Date: 2013-01-15 19:58 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/44d6cabc9a3f 8005618: TEST_BUG: java/lang/ProcessBuilder/Basic.java failing intermittently Reviewed-by: alanb, martin, dholmes ! test/java/lang/ProcessBuilder/Basic.java Changeset: 9d8ef6174cfd Author: dl Date: 2013-01-16 10:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9d8ef6174cfd 8005926: Merge ThreadLocalRandom state into java.lang.Thread Reviewed-by: shade, chegar ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: a546d8897e0d Author: dl Date: 2013-01-16 12:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a546d8897e0d 8001666: Add lambda-compatible atomics and accumulators to the ActomicXXX classes Reviewed-by: dl, chegar, darcy, goetz Contributed-by: dl at cs.oswego.edu, chris.hegarty at oracle.com ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: c7d54f93d3e5 Author: juh Date: 2013-01-16 09:51 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c7d54f93d3e5 8005389: Backout fix for JDK-6500133 Reviewed-by: mullan ! src/share/classes/sun/security/x509/URIName.java ! test/sun/security/x509/URIName/Parse.java Changeset: f7f77bdf248b Author: juh Date: 2013-01-16 13:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f7f77bdf248b 8005939: sun/security/x509/{X509CRLImplX509CertImpl}/Verify.java fail in confusing way when some providers not present Reviewed-by: mullan, weijun ! test/sun/security/x509/X509CRLImpl/Verify.java ! test/sun/security/x509/X509CertImpl/Verify.java Changeset: 9fed48caac80 Author: lana Date: 2013-01-16 12:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9fed48caac80 Merge Changeset: 787c7c1c210f Author: sherman Date: 2013-01-17 12:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/787c7c1c210f 8006090: Formatter asserts with -esa Summary: removed the offending assert Reviewed-by: alanb, darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java ! test/ProblemList.txt Changeset: e8414d69692c Author: khazra Date: 2013-01-17 14:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e8414d69692c 7171415: java.net.URI.equals/hashCode not consistent for some URIs Summary: Rewrite URI.hashCode() to consider encoded characters, also reviewed by vitalyd at gmail.com, schlosna at gmail.com Reviewed-by: chegar ! src/share/classes/java/net/URI.java ! test/java/net/URI/Test.java Changeset: 79fed1733d4a Author: jgish Date: 2013-01-17 15:09 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/79fed1733d4a 8006534: CLONE - TestLibrary.getUnusedRandomPort() fails intermittently-doesn't retry enough times Summary: Increase number of retries to twice the number of ports in the reserved range Reviewed-by: mduigou ! test/java/rmi/testlibrary/TestLibrary.java Changeset: f88e963960ae Author: jzavgren Date: 2013-01-18 17:34 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f88e963960ae 8005120: Compiler warnings in socket transport native code Reviewed-by: chegar, dsamersoff ! src/share/transport/socket/socketTransport.c ! src/share/transport/socket/sysSocket.h ! src/solaris/transport/socket/socket_md.c ! src/windows/transport/socket/socket_md.c Changeset: 06da87777d0e Author: alanb Date: 2013-01-18 18:48 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/06da87777d0e 6939260: (fs) BasicFileAttributes.lastModifiedTime() should return last modified time with higher precision Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java Changeset: 33d0175ea8d9 Author: msheppar Date: 2013-01-19 08:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/33d0175ea8d9 8006568: HTTP protocol handler NLTM Authentication should use Base64 API Reviewed-by: chegar, alanb ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! test/sun/net/www/protocol/http/ProxyTunnelServer.java Changeset: 78514544980d Author: lancea Date: 2013-01-19 10:11 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/78514544980d 8006139: add missing methods to javax.sql.rowset.serial.SQLInputImpl, SQLOutputImpl Reviewed-by: naoto, ulfzibis, alanb ! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java Changeset: d3da0d29d7cd Author: lancea Date: 2013-01-19 10:53 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d3da0d29d7cd 8005080: JDBC 4.2 Core changes Reviewed-by: naoto ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverManager.java + src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLTimeoutException.java + src/share/classes/java/sql/SQLType.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/sql/Types.java ! src/share/classes/java/sql/package.html ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java Changeset: bb2ed83676d2 Author: chegar Date: 2013-01-20 09:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bb2ed83676d2 8006560: java/net/ipv6tests/B6521014.java fails intermittently Reviewed-by: khazra, wetmore ! test/java/net/ipv6tests/B6521014.java Changeset: 6ca6b6f07653 Author: okutsu Date: 2013-01-21 12:04 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6ca6b6f07653 4745761: (cal) RFE: Support builder for constructing Calendar Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java + test/java/util/Calendar/Builder/BuilderTest.java ! test/java/util/Calendar/CalendarTypeTest.java Changeset: 3c1a440a1e12 Author: okutsu Date: 2013-01-21 15:41 +0900 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c1a440a1e12 8004489: Add support for Minguo and Hijrah calendars to CalendarNameProvider SPI 8006509: Add more calendar symbol names from CLDR Reviewed-by: peytoia ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/CalendarType.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! src/share/classes/java/util/spi/CalendarNameProvider.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/util/Calendar/CldrFormatNamesTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: bb940b2107bd Author: juh Date: 2013-01-21 15:05 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bb940b2107bd 8006092: SecurityPermission: printIdentity doesn't exist Reviewed-by: weijun ! test/sun/security/tools/policytool/UpdatePermissions.html Changeset: f21a3c273fb2 Author: dl Date: 2013-01-21 13:50 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f21a3c273fb2 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder Reviewed-by: chegar, darcy, goetz ! make/java/java/FILES_java.gmk + src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java + src/share/classes/java/util/concurrent/atomic/DoubleAdder.java + src/share/classes/java/util/concurrent/atomic/LongAccumulator.java + src/share/classes/java/util/concurrent/atomic/LongAdder.java + src/share/classes/java/util/concurrent/atomic/Striped64.java + test/java/util/concurrent/atomic/DoubleAdderDemo.java + test/java/util/concurrent/atomic/LongAdderDemo.java Changeset: de30e46250c5 Author: lancea Date: 2013-01-21 14:08 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/de30e46250c5 8006642: Fix javadoc warnings due to Integer.MAX_VALUE Reviewed-by: alanb ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/Statement.java Changeset: 8b1857409159 Author: lana Date: 2013-01-20 23:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8b1857409159 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 7f4e3da76ec1 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7f4e3da76ec1 Merge Changeset: 8ee6d45348ba Author: vinnie Date: 2013-01-22 23:32 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8ee6d45348ba 6263419: No way to clean the memory for a java.security.Key Reviewed-by: mullan ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java ! src/share/classes/javax/security/auth/Destroyable.java + test/javax/security/auth/Destroyable/KeyDestructionTest.java Changeset: c18f28312c49 Author: smarks Date: 2013-01-22 18:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c18f28312c49 8005646: TEST_BUG: java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup leaves process running Reviewed-by: mchung ! test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy Changeset: 919afffa70b0 Author: sherman Date: 2013-01-22 20:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/919afffa70b0 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! make/docs/CORE_PKGS.gmk ! make/java/Makefile + make/java/time/Makefile ! make/jprt.properties ! make/sun/Makefile + make/sun/tzdb/Makefile ! make/tools/Makefile + make/tools/src/build/tools/tzdb/ChronoField.java + make/tools/src/build/tools/tzdb/DateTimeException.java + make/tools/src/build/tools/tzdb/LocalDate.java + make/tools/src/build/tools/tzdb/LocalDateTime.java + make/tools/src/build/tools/tzdb/LocalTime.java + make/tools/src/build/tools/tzdb/TimeDefinition.java + make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java + make/tools/src/build/tools/tzdb/Utils.java + make/tools/src/build/tools/tzdb/ZoneOffset.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransition.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransitionRule.java + make/tools/src/build/tools/tzdb/ZoneRules.java + make/tools/src/build/tools/tzdb/ZoneRulesBuilder.java + make/tools/tzdb/Makefile ! makefiles/CreateJars.gmk + makefiles/GendataTZDB.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk + src/share/classes/java/time/Clock.java + src/share/classes/java/time/DateTimeException.java + src/share/classes/java/time/DayOfWeek.java + src/share/classes/java/time/Duration.java + src/share/classes/java/time/Instant.java + src/share/classes/java/time/LocalDate.java + src/share/classes/java/time/LocalDateTime.java + src/share/classes/java/time/LocalTime.java + src/share/classes/java/time/Month.java + src/share/classes/java/time/Period.java + src/share/classes/java/time/PeriodParser.java + src/share/classes/java/time/Ser.java + src/share/classes/java/time/ZoneId.java + src/share/classes/java/time/ZoneOffset.java + src/share/classes/java/time/ZoneRegion.java + src/share/classes/java/time/ZonedDateTime.java + src/share/classes/java/time/calendar/ChronoDateImpl.java + src/share/classes/java/time/calendar/HijrahChrono.java + src/share/classes/java/time/calendar/HijrahDate.java + src/share/classes/java/time/calendar/HijrahDeviationReader.java + src/share/classes/java/time/calendar/HijrahEra.java + src/share/classes/java/time/calendar/JapaneseChrono.java + src/share/classes/java/time/calendar/JapaneseDate.java + src/share/classes/java/time/calendar/JapaneseEra.java + src/share/classes/java/time/calendar/MinguoChrono.java + src/share/classes/java/time/calendar/MinguoDate.java + src/share/classes/java/time/calendar/MinguoEra.java + src/share/classes/java/time/calendar/Ser.java + src/share/classes/java/time/calendar/ThaiBuddhistChrono.java + src/share/classes/java/time/calendar/ThaiBuddhistDate.java + src/share/classes/java/time/calendar/ThaiBuddhistEra.java + src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/format/DateTimeBuilder.java + src/share/classes/java/time/format/DateTimeFormatStyleProvider.java + src/share/classes/java/time/format/DateTimeFormatSymbols.java + src/share/classes/java/time/format/DateTimeFormatter.java + src/share/classes/java/time/format/DateTimeFormatterBuilder.java + src/share/classes/java/time/format/DateTimeFormatters.java + src/share/classes/java/time/format/DateTimeParseContext.java + src/share/classes/java/time/format/DateTimeParseException.java + src/share/classes/java/time/format/DateTimePrintContext.java + src/share/classes/java/time/format/DateTimePrintException.java + src/share/classes/java/time/format/DateTimeTextProvider.java + src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/SignStyle.java + src/share/classes/java/time/format/TextStyle.java + src/share/classes/java/time/format/package-info.java + src/share/classes/java/time/overview.html + src/share/classes/java/time/package-info.java + src/share/classes/java/time/temporal/Adjusters.java + src/share/classes/java/time/temporal/Chrono.java + src/share/classes/java/time/temporal/ChronoField.java + src/share/classes/java/time/temporal/ChronoLocalDate.java + src/share/classes/java/time/temporal/ChronoLocalDateTime.java + src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/temporal/ChronoUnit.java + src/share/classes/java/time/temporal/ChronoZonedDateTime.java + src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/temporal/Era.java + src/share/classes/java/time/temporal/ISOChrono.java + src/share/classes/java/time/temporal/ISOEra.java + src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/JulianFields.java + src/share/classes/java/time/temporal/MonthDay.java + src/share/classes/java/time/temporal/OffsetDate.java + src/share/classes/java/time/temporal/OffsetDateTime.java + src/share/classes/java/time/temporal/OffsetTime.java + src/share/classes/java/time/temporal/Queries.java + src/share/classes/java/time/temporal/Ser.java + src/share/classes/java/time/temporal/SimplePeriod.java + src/share/classes/java/time/temporal/Temporal.java + src/share/classes/java/time/temporal/TemporalAccessor.java + src/share/classes/java/time/temporal/TemporalAdder.java + src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalField.java + src/share/classes/java/time/temporal/TemporalQuery.java + src/share/classes/java/time/temporal/TemporalSubtractor.java + src/share/classes/java/time/temporal/TemporalUnit.java + src/share/classes/java/time/temporal/ValueRange.java + src/share/classes/java/time/temporal/WeekFields.java + src/share/classes/java/time/temporal/Year.java + src/share/classes/java/time/temporal/YearMonth.java + src/share/classes/java/time/temporal/package-info.java + src/share/classes/java/time/zone/Ser.java + src/share/classes/java/time/zone/TzdbZoneRulesProvider.java + src/share/classes/java/time/zone/ZoneOffsetTransition.java + src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java + src/share/classes/java/time/zone/ZoneRules.java + src/share/classes/java/time/zone/ZoneRulesException.java + src/share/classes/java/time/zone/ZoneRulesProvider.java + src/share/classes/java/time/zone/package-info.java ! src/share/classes/java/util/Formatter.java ! test/Makefile + test/java/time/META-INF/services/java.time.temporal.Chrono + test/java/time/TEST.properties + test/java/time/tck/java/time/AbstractDateTimeTest.java + test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/TCKClock.java + test/java/time/tck/java/time/TCKClock_Fixed.java + test/java/time/tck/java/time/TCKClock_Offset.java + test/java/time/tck/java/time/TCKClock_System.java + test/java/time/tck/java/time/TCKClock_Tick.java + test/java/time/tck/java/time/TCKDayOfWeek.java + test/java/time/tck/java/time/TCKDuration.java + test/java/time/tck/java/time/TCKInstant.java + test/java/time/tck/java/time/TCKLocalDate.java + test/java/time/tck/java/time/TCKLocalDateTime.java + test/java/time/tck/java/time/TCKLocalTime.java + test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKZoneId.java + test/java/time/tck/java/time/TCKZoneOffset.java + test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/calendar/CopticChrono.java + test/java/time/tck/java/time/calendar/CopticDate.java + test/java/time/tck/java/time/calendar/CopticEra.java + test/java/time/tck/java/time/calendar/TestChronoLocalDate.java + test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java + test/java/time/tck/java/time/calendar/TestHijrahChrono.java + test/java/time/tck/java/time/calendar/TestJapaneseChrono.java + test/java/time/tck/java/time/calendar/TestMinguoChrono.java + test/java/time/tck/java/time/calendar/TestServiceLoader.java + test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java + test/java/time/tck/java/time/format/TCKDateTimeFormatter.java + test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java + test/java/time/tck/java/time/format/TCKDateTimeFormatters.java + test/java/time/tck/java/time/format/TCKDateTimePrintException.java + test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java + test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java + test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java + test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKJulianFields.java + test/java/time/tck/java/time/temporal/TCKMonthDay.java + test/java/time/tck/java/time/temporal/TCKOffsetDate.java + test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java + test/java/time/tck/java/time/temporal/TCKOffsetTime.java + test/java/time/tck/java/time/temporal/TCKSimplePeriod.java + test/java/time/tck/java/time/temporal/TCKWeekFields.java + test/java/time/tck/java/time/temporal/TCKYear.java + test/java/time/tck/java/time/temporal/TCKYearMonth.java + test/java/time/tck/java/time/temporal/TestChrono.java + test/java/time/tck/java/time/temporal/TestChronoLocalDate.java + test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java + test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java + test/java/time/tck/java/time/temporal/TestISOChrono.java + test/java/time/tck/java/time/zone/TCKFixedZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java + test/java/time/tck/java/time/zone/TCKZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java + test/java/time/test/java/time/AbstractTest.java + test/java/time/test/java/time/MockSimplePeriod.java + test/java/time/test/java/time/TestClock_Fixed.java + test/java/time/test/java/time/TestClock_Offset.java + test/java/time/test/java/time/TestClock_System.java + test/java/time/test/java/time/TestClock_Tick.java + test/java/time/test/java/time/TestDuration.java + test/java/time/test/java/time/TestInstant.java + test/java/time/test/java/time/TestLocalDate.java + test/java/time/test/java/time/TestLocalDateTime.java + test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestPeriod.java + test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/TestZoneOffset.java + test/java/time/test/java/time/TestZonedDateTime.java + test/java/time/test/java/time/format/AbstractTestPrinterParser.java + test/java/time/test/java/time/format/MockIOExceptionAppendable.java + test/java/time/test/java/time/format/TestCharLiteralParser.java + test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java + test/java/time/test/java/time/format/TestDateTimeFormatter.java + test/java/time/test/java/time/format/TestDateTimeFormatters.java + test/java/time/test/java/time/format/TestDateTimePrintException.java + test/java/time/test/java/time/format/TestDateTimeTextProvider.java + test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNumberParser.java + test/java/time/test/java/time/format/TestNumberPrinter.java + test/java/time/test/java/time/format/TestPadParserDecorator.java + test/java/time/test/java/time/format/TestPadPrinterDecorator.java + test/java/time/test/java/time/format/TestReducedParser.java + test/java/time/test/java/time/format/TestReducedPrinter.java + test/java/time/test/java/time/format/TestSettingsParser.java + test/java/time/test/java/time/format/TestStringLiteralParser.java + test/java/time/test/java/time/format/TestStringLiteralPrinter.java + test/java/time/test/java/time/format/TestTextParser.java + test/java/time/test/java/time/format/TestTextPrinter.java + test/java/time/test/java/time/format/TestZoneIdParser.java + test/java/time/test/java/time/format/TestZoneOffsetParser.java + test/java/time/test/java/time/format/TestZoneOffsetPrinter.java + test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/temporal/MockFieldNoValue.java + test/java/time/test/java/time/temporal/MockFieldValue.java + test/java/time/test/java/time/temporal/TestChronoUnit.java + test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java + test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java + test/java/time/test/java/time/temporal/TestDateTimeValueRange.java + test/java/time/test/java/time/temporal/TestISOChronoImpl.java + test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestMonthDay.java + test/java/time/test/java/time/temporal/TestOffsetDate.java + test/java/time/test/java/time/temporal/TestOffsetDateTime.java + test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java + test/java/time/test/java/time/temporal/TestOffsetTime.java + test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java + test/java/time/test/java/time/temporal/TestYear.java + test/java/time/test/java/time/temporal/TestYearMonth.java + test/java/time/test/java/time/zone/TestFixedZoneRules.java + test/java/time/test/java/util/TestFormatter.java Changeset: 71691b9d45ab Author: vinnie Date: 2013-01-23 09:49 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/71691b9d45ab 8006741: javadoc cleanup for 6263419 Reviewed-by: alanb ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java Changeset: 01b36b400145 Author: uta Date: 2013-01-23 15:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/01b36b400145 6519127: user.home property not set correctly Summary: Registry-based approach was changed to SHGetKnownFolderPath/SHGetFolderPathW Reviewed-by: alanb, anthony ! src/windows/native/java/lang/java_props_md.c Changeset: bf2a14ebb6e9 Author: chegar Date: 2013-01-23 14:45 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/bf2a14ebb6e9 8006669: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh fails on mac Reviewed-by: alanb ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java Changeset: 53064bbaeec5 Author: alanb Date: 2013-01-23 15:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/53064bbaeec5 8006764: FunctionalInterface missing from rt.jar (old build) Reviewed-by: lancea, forax ! make/java/java/FILES_java.gmk Changeset: c9eb1d3ef37f Author: robm Date: 2013-01-23 17:54 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c9eb1d3ef37f 8004729: Add java.lang.reflect.Parameter and related changes for parameter reflection Reviewed-by: darcy, forax, psandoz, dholmes, tbell ! make/java/java/Exportedfiles.gmk ! make/java/java/FILES_c.gmk ! make/java/java/mapfile-vers ! makefiles/mapfiles/libjava/mapfile-vers ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Modifier.java + src/share/classes/java/lang/reflect/Parameter.java ! src/share/javavm/export/jvm.h + src/share/native/java/lang/reflect/Executable.c + test/java/lang/reflect/Parameter/WithParameters.java + test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: e0552f13f4a2 Author: sherman Date: 2013-01-23 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e0552f13f4a2 8006773: test/java/util/zip/ZipFile/FinalizeZipFile.java failing intermittently Summary: fixed the test case Reviewed-by: alanb ! test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 87f5569effdd Author: sherman Date: 2013-01-23 10:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/87f5569effdd Merge Changeset: 0c86df653029 Author: vinnie Date: 2013-01-23 21:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0c86df653029 8006591: Protect keystore entries using stronger PBE algorithms Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/java/security/KeyStore/PBETest.java Changeset: 1da93663f8f3 Author: vinnie Date: 2013-01-23 23:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1da93663f8f3 8005408: KeyStore API enhancements Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/java/security/PKCS12Attribute.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/share/classes/sun/security/x509/AlgorithmId.java + test/sun/security/pkcs12/StorePasswordTest.java + test/sun/security/pkcs12/StoreSecretKeyTest.java + test/sun/security/pkcs12/StoreTrustedCertTest.java + test/sun/security/pkcs12/trusted.pem Changeset: 89f37f7188df Author: mullan Date: 2013-01-23 20:46 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/89f37f7188df 8006813: Compilation error in PKCS12KeyStore.java Reviewed-by: valeriep ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: b68ac92d0b2a Author: alanb Date: 2013-01-24 09:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b68ac92d0b2a 8006524: JSR-3: Allows java.beans to be optional Reviewed-by: dfuchs, mchung ! src/share/classes/javax/management/MXBean.java ! src/share/classes/javax/management/monitor/package.html Changeset: 943af87e0269 Author: vinnie Date: 2013-01-24 16:44 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/943af87e0269 8006855: PKCS12 test failures due to unsupported algorithm Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java Changeset: 1fd613016ad9 Author: ksrini Date: 2013-01-24 09:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1fd613016ad9 8006850: [pack200] disable pack200 tests until JSR-308 is implemented Reviewed-by: alanb ! test/ProblemList.txt Changeset: b3f0e0c79bcc Author: vinnie Date: 2013-01-24 18:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b3f0e0c79bcc 8006863: javadoc cleanup for 8005408 Reviewed-by: alanb ! src/share/classes/java/security/PKCS12Attribute.java Changeset: 4d3c05cc21d5 Author: darcy Date: 2013-01-24 16:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4d3c05cc21d5 8006895: Clarify that FunctionalInferface is only informative Reviewed-by: briangoetz ! src/share/classes/java/lang/FunctionalInterface.java Changeset: 4c9fcb5cbc07 Author: dingxmin Date: 2013-01-25 17:00 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4c9fcb5cbc07 7183373: URLClassloader.close() does not close JAR files whose resources have been loaded via getResource() Reviewed-by: chegar ! src/share/classes/sun/misc/URLClassPath.java + test/sun/misc/URLClassPath/JarLoaderTest.java Changeset: 4a4b97f7f83b Author: alanb Date: 2013-01-25 13:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4a4b97f7f83b 8006565: java.lang.instrument specification should make it clear that -javaagent is optional Reviewed-by: sla, dcubed, mchung ! src/share/classes/java/lang/instrument/package.html Changeset: c6ea84a629db Author: vinnie Date: 2013-01-25 16:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c6ea84a629db 8006946: PKCS12 test failure due to incorrect alias name Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 117491dd58c2 Author: vinnie Date: 2013-01-25 17:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/117491dd58c2 8006951: Avoid storing duplicate PKCS12 attributes Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 77bde15bc6a9 Author: khazra Date: 2013-01-25 11:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/77bde15bc6a9 7017962: Obsolete link is used in URL class level spec Summary: Change the link to an archived document Reviewed-by: chegar, mduigou ! src/share/classes/java/net/URL.java Changeset: 4209b3936a7f Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4209b3936a7f 8005632: Extend java.util.Logger to use Supplier for messages Reviewed-by: briangoetz, mduigou Contributed-by: henry.jen at oracle.com ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggerSupplierAPIsTest.java Changeset: 1d918647332e Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1d918647332e 8004201: Add static utility methods to primitives to be used for redution operations. Reviewed-by: darcy, mduigou, briangoetz, dholmes Contributed-by: akhil.arora at oracle.com ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java + test/java/lang/PrimitiveSumMinMaxTest.java Changeset: 86a5b435c928 Author: jgish Date: 2013-01-22 11:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/86a5b435c928 4247235: (spec str) StringBuffer.insert(int, char[]) specification is inconsistent Summary: Add blanket null-handling statement to StringBuilder and StringBuffer Reviewed-by: mduigou ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java Changeset: e96577d82cbb Author: alanb Date: 2013-01-26 16:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e96577d82cbb 8006503: JVM_PrintStackTrace is not used in JDK Reviewed-by: alanb, darcy Contributed-by: eric.mccorkle at oracle.com ! src/share/javavm/export/jvm.h Changeset: 57561ea851d2 Author: lana Date: 2013-01-26 19:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/57561ea851d2 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 4faaaf5027a5 Author: alexsch Date: 2013-01-14 08:32 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4faaaf5027a5 7166409: bug4331515.java fail with NullPointerException on ubuntu10.04-x86 for JDK8 Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Changeset: 9c6ca265b4a1 Author: alexsch Date: 2013-01-15 12:49 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9c6ca265b4a1 8003978: closed/javax/swing/JRootPane/bug4670486.java fails since jdk7u12b01 on macosx Reviewed-by: serb, leonidr ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/sun/swing/SwingUtilities2.java ! test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java Changeset: 1b886bd5e5bf Author: serb Date: 2013-01-15 21:57 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1b886bd5e5bf 7124525: [macosx] No animation on certain Swing components in Aqua LaF Reviewed-by: alexsch, swingler ! src/macosx/classes/com/apple/laf/AquaPainter.java ! src/macosx/classes/com/apple/laf/ImageCache.java Changeset: 7ea1372be2fe Author: mcherkas Date: 2013-01-16 17:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7ea1372be2fe 8005492: Reduce number of warnings in sun/awt/* classes Reviewed-by: art, anthony ! src/share/classes/java/awt/Button.java ! src/share/classes/java/awt/Checkbox.java ! src/share/classes/java/awt/Choice.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/Frame.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/TextArea.java ! src/share/classes/java/awt/TextComponent.java ! src/share/classes/java/awt/TextField.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/awt/image/SurfaceManager.java Changeset: 23f9955ae34a Author: lana Date: 2013-01-16 15:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/23f9955ae34a Merge Changeset: 47243a4efb8b Author: kshefov Date: 2013-01-17 15:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/47243a4efb8b 7124209: [macosx] SpringLayout issue. BASELINE is not in the range: [NORTH, SOUTH] Reviewed-by: serb, alexsch + test/javax/swing/SpringLayout/4726194/bug4726194.java Changeset: 035f87fc9f74 Author: anthony Date: 2013-01-18 14:17 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/035f87fc9f74 8005465: [macosx] Evaluate if checking for the -XstartOnFirstThread is still needed in awt.m Summary: Allow one to start AWT on the main thread w/o exceptions Reviewed-by: art, serb ! src/macosx/native/sun/awt/awt.m Changeset: 5309fed435b5 Author: serb Date: 2013-01-18 18:17 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5309fed435b5 7179050: [macosx] Make LWAWT be able to run on AppKit thread Summary: Removed irrelevant assertions from the LWAWT native methods Reviewed-by: serb, anthony Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/ApplicationDelegate.m ! src/macosx/native/sun/awt/CClipboard.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CDesktopPeer.m ! src/macosx/native/sun/awt/CDragSourceContextPeer.m ! src/macosx/native/sun/awt/CImage.m ! src/macosx/native/sun/awt/CInputMethod.m ! src/macosx/native/sun/awt/CMenu.m ! src/macosx/native/sun/awt/CMenuComponent.m ! src/macosx/native/sun/awt/CMenuItem.m ! src/macosx/native/sun/awt/CPopupMenu.m ! src/macosx/native/sun/awt/CTrayIcon.m ! src/macosx/native/sun/awt/CWrapper.m ! src/macosx/native/sun/awt/JavaComponentAccessibility.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/awt/awt.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: 112c08b41ca2 Author: alitvinov Date: 2013-01-18 18:34 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/112c08b41ca2 8006417: JComboBox.showPopup(), hidePopup() fails in JRE 1.7 on OS X Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java + test/javax/swing/JComboBox/ShowPopupAfterHidePopupTest/ShowPopupAfterHidePopupTest.java Changeset: b4131358120a Author: raginip Date: 2013-01-18 11:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b4131358120a 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! make/Makefile + make/bridge/AccessBridgeJava/Makefile + make/bridge/JAWTAccessBridge/Files_cpp.gmk + make/bridge/JAWTAccessBridge/Makefile + make/bridge/Jabswitch/Makefile + make/bridge/Jaccess/Makefile + make/bridge/JavaAccessBridge/Files_cpp.gmk + make/bridge/JavaAccessBridge/Makefile + make/bridge/Makefile + make/bridge/WindowsAccessBridge/Files_cpp.gmk + make/bridge/WindowsAccessBridge/Makefile ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk Changeset: f55d869052dd Author: alexsch Date: 2013-01-21 17:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f55d869052dd 8004298: NPE in WindowsTreeUI.ensureRowsAreVisible Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java + test/javax/swing/JTree/8004298/bug8004298.java Changeset: dd7e1cc4253c Author: alexp Date: 2013-01-24 15:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/dd7e1cc4253c 7147078: [macosx] Echo char set in TextField doesn't prevent word jumping Reviewed-by: art ! src/macosx/classes/com/apple/laf/AquaKeyBindings.java ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/macosx/classes/sun/lwawt/LWTextFieldPeer.java Changeset: 04d2005fa178 Author: alexp Date: 2013-01-24 15:52 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/04d2005fa178 7132793: [macosx] setWheelScrollEnabled action reversed Reviewed-by: serb, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWScrollPanePeer.java Changeset: 40a45a72a120 Author: serb Date: 2013-01-24 15:55 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/40a45a72a120 8005997: [macosx] Printer Dialog opens an additional title bar Reviewed-by: anthony, art Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: fab11b21ee6e Author: kizune Date: 2013-01-24 16:09 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fab11b21ee6e 7143768: [macosx] Unexpected NullPointerException and java.io.IOException during DnD Reviewed-by: alexp ! src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Changeset: 7dd1896b37c8 Author: malenkov Date: 2013-01-24 17:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7dd1896b37c8 6817933: Setting the background of an HTML Widget changes the native Windows JFileChooser Reviewed-by: alexsch ! src/share/classes/sun/swing/WindowsPlacesBar.java + test/javax/swing/JFileChooser/6817933/Test6817933.java Changeset: f8526b99b825 Author: serb Date: 2013-01-24 17:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f8526b99b825 8003173: [macosx] Fullscreen on Mac leaves an empty rectangle Reviewed-by: anthony, alexsch ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java + test/java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java Changeset: 32721a1a8da8 Author: malenkov Date: 2013-01-24 17:57 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/32721a1a8da8 8005138: test/java/beans/Introspector/TestTypeResolver.java fails Reviewed-by: alexsch ! test/java/beans/Introspector/TestTypeResolver.java Changeset: 7cda96a78260 Author: malenkov Date: 2013-01-24 18:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/7cda96a78260 8003400: JTree scrolling problem when using large model in WindowsLookAndFeel Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/8003400/Test8003400.java Changeset: e616c28c5120 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e616c28c5120 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: a1a55db02f34 Author: lana Date: 2013-01-29 20:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a1a55db02f34 Merge ! makefiles/CreateJars.gmk Changeset: 9d5c43050210 Author: dl Date: 2013-01-11 16:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9d5c43050210 8006123: Support @Contended Annotation - JEP 142 (jdk part) Summary: jdk changes for 8003895. Reviewed-by: darcy, jrose, coleenp, dholmes, kvn Contributed-by: Aleksey Shipilev + src/share/classes/sun/misc/Contended.java Changeset: 739351a0a7a1 Author: kvn Date: 2013-01-23 11:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/739351a0a7a1 8006799: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() (jdk part of 6896617) Summary: Move hot loop in ISO_8859_1$Encode.encodeArrayLoop() into separate method encodeISOArray() to be replaced by JVM JIT compiler with optimized intrinsic code. Reviewed-by: alanb, sherman ! src/share/classes/sun/nio/cs/ISO_8859_1.java Changeset: e9d00d30fcca Author: amurillo Date: 2013-01-25 03:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e9d00d30fcca Merge Changeset: ac286bf65242 Author: amurillo Date: 2013-01-30 10:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ac286bf65242 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: 3c499051a5df Author: erikj Date: 2013-01-29 16:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3c499051a5df 8006873: SWAT-b74 msvcr100.dll does not have the permission for all Reviewed-by: alanb, tbell ! makefiles/CopyFiles.gmk Changeset: 4a67fdb752b7 Author: katleman Date: 2013-01-30 13:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/4a67fdb752b7 Merge ! makefiles/CopyFiles.gmk Changeset: 6ba6353ab42c Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6ba6353ab42c Added tag jdk8-b75 for changeset 4a67fdb752b7 ! .hgtags From john.cuthbertson at oracle.com Fri Feb 1 14:17:50 2013 From: john.cuthbertson at oracle.com (John Cuthbertson) Date: Fri, 01 Feb 2013 14:17:50 -0800 Subject: java 1.7.0u4 GarbageCollectionNotificationInfo API In-Reply-To: References: Message-ID: <510C3F0E.9030400@oracle.com> Hi Taras, I'm going to cc the serviceability alias. I think they might be best suited to answer some of your questions. I believe they own the API and the GC provides the data. Answer 1: It should be milliseconds, but there was a bug (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7087969) that is now fixed in hs24 and you could be running into that. Answer 2: This sounds like a bug. Do you have a test case you can share? Answer 3: I'll leave that to the serviceability guys. Regards, JohnC On 1/28/2013 1:11 PM, Taras Tielkes wrote: > > Hi, > > I'm playing around with the new(ish) GarbageCollectionNotificationInfo > API. We're using ParNew+CMS in all our systems, and my first goal is a > comparison between -XX:+PrintGCDetails -verbose:gc output and the > actual data coming through the notification API. I'm using Java > 1.7.0u6 for the experiments. > > So far, I have a number of questions: > 1) duration times > > The javadoc for gcInfo.getDuration() describes the returned value as > expressed in milliseconds. However, the values differ to the gc logs > by several orders of magnitude. How are they calculated? > > On a 1-core Linux x64 VM, the values actually look like microseconds, > but on a Win32 machines I still can't figure out any resemblance to gc > log timings. > > Apart from the unit, what should the value represent? Real time or > user time? > > 2) CMS events with cause "No GC" > > How exactly do the phases of CMS map to the notifications emitted for > the CMS collector? > > I sometimes get events with cause "No GC". Does this indicate a > background CMS cycle being initiated by hitting the occupancy fraction > threshold? > > 3) Eden/Survivor > > It seems that the MemoryUsage API treats Eden and Survivor separately, > i.e. survivor is not a subset of eden. This is different from the gc > log presentation. Is my understanding correct? > > In general, I think it would be useful to have a code sample for the > GC notification API that generates output as close as possible to > -XX:+PrintGCDetails -verbose:gc, as far as the data required to do so > is available. > > The API looks quite promising, it seems it could really benefit from a > bit of documentation love :) > > Thanks, > -tt > > > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130201/37dca1ab/attachment.html From harold.seigel at oracle.com Fri Feb 1 14:39:35 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Fri, 01 Feb 2013 22:39:35 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130201223941.C399C47790@hg.openjdk.java.net> Changeset: baf7fac3167e Author: hseigel Date: 2013-02-01 14:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/baf7fac3167e 8006298: Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error Summary: Change error messages for malformed options so the messages are more useful. Reviewed-by: mikael, kvn, nloodin ! src/share/vm/runtime/arguments.cpp Changeset: 4c75576d18d0 Author: hseigel Date: 2013-02-01 13:30 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4c75576d18d0 Merge From john.coomes at oracle.com Fri Feb 1 14:40:57 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 01 Feb 2013 22:40:57 +0000 Subject: hg: hsx/hotspot-rt/langtools: 53 new changesets Message-ID: <20130201224309.16CBA47791@hg.openjdk.java.net> Changeset: 0c244701188e Author: mchung Date: 2012-12-28 22:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0c244701188e 8003562: Provide a CLI tool to analyze class dependencies Reviewed-by: jjg, alanb, ulfzibis, erikj ! make/build.properties ! makefiles/BuildLangtools.gmk ! src/share/classes/com/sun/tools/classfile/Dependencies.java ! src/share/classes/com/sun/tools/classfile/Dependency.java + src/share/classes/com/sun/tools/jdeps/Archive.java + src/share/classes/com/sun/tools/jdeps/ClassFileReader.java + src/share/classes/com/sun/tools/jdeps/JdepsTask.java + src/share/classes/com/sun/tools/jdeps/Main.java + src/share/classes/com/sun/tools/jdeps/PlatformClassPath.java + src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties + src/share/classes/com/sun/tools/jdeps/resources/jdk.properties + src/share/classes/com/sun/tools/jdeps/resources/version.properties-template ! test/Makefile + test/tools/jdeps/Basic.java + test/tools/jdeps/Test.java + test/tools/jdeps/p/Foo.java Changeset: 31780dd06ec7 Author: jjg Date: 2012-12-29 17:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/31780dd06ec7 8004727: Add compiler support for parameter reflection Reviewed-by: jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/util/Names.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java + test/tools/javac/MethodParameters.java + test/tools/javap/MethodParameters.java Changeset: 383bc0fbd759 Author: jjg Date: 2012-12-30 06:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/383bc0fbd759 8005195: Doclint regression tests fail on windows Reviewed-by: mcimadamore ! test/tools/doclint/DocLintTester.java Changeset: 1d8438db45f2 Author: lana Date: 2013-01-01 17:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1d8438db45f2 Merge Changeset: 0e17c3c23e3b Author: bpatel Date: 2013-01-04 23:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0e17c3c23e3b 8004891: Check for abstract method in javadoc does not conform to the language model Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java + test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java + test/com/sun/javadoc/testAbstractMethod/pkg/A.java + test/com/sun/javadoc/testAbstractMethod/pkg/B.java + test/com/sun/javadoc/testAbstractMethod/pkg/C.java Changeset: 8c0c63a6e3b7 Author: bpatel Date: 2013-01-05 00:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8c0c63a6e3b7 8005092: javadoc should check for synthesized bit on an annotation Reviewed-by: jjg ! src/share/classes/com/sun/javadoc/AnnotationDesc.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java + test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Changeset: a9cb93cca229 Author: jjh Date: 2013-01-07 17:51 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a9cb93cca229 8005647: langtools/test/tools/javap/MethodParameters.java fails on windows Summary: Fix javap to not output \r\r\n Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! test/tools/javac/MethodParameters.java ! test/tools/javap/MethodParameters.java Changeset: 38d3d1027f5a Author: mcimadamore Date: 2013-01-08 10:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/38d3d1027f5a 8005243: Restructure method check code to allow pluggable checkers Summary: Add interface to perform a method check - to be implemented by helper classes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: db91d860156a Author: mcimadamore Date: 2013-01-08 10:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/db91d860156a 8005179: Cleanup Resolve.AmbiguityError Summary: Linearize nested ambiguity errors Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out Changeset: d07340b61e6a Author: mcimadamore Date: 2013-01-08 10:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d07340b61e6a 8005184: Restructure DeferredAttr to allow pluggable deferred type completers Summary: Add hooks to generalize deferred type completion via custom helper objects Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Changeset: 954541f13717 Author: vromero Date: 2013-01-08 13:47 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/954541f13717 8005167: execution time of combo tests in javac should be improved Reviewed-by: jjg, jjh ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java + test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: d2eb08b3f64f Author: jjg Date: 2013-01-09 10:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d2eb08b3f64f 8005644: set default max errs and max warns Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/Messager.java + test/tools/javadoc/MaxWarns.java Changeset: 7612fe48be90 Author: darcy Date: 2013-01-09 20:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7612fe48be90 8004730: Add language model support for parameter reflection Reviewed-by: abuckley ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/VariableElement.java ! src/share/classes/javax/lang/model/element/package-info.java Changeset: d462da465da6 Author: jjg Date: 2013-01-10 14:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d462da465da6 8006037: extra space in javac -help for -J and @ options Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/Option.java + test/tools/javac/main/Option_J_At_Test.java Changeset: 7d2f628f04f1 Author: jjg Date: 2013-01-10 15:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7d2f628f04f1 8006033: bug in Pretty.toSimpleString Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/Pretty.java + test/tools/javac/tree/PrettySimpleStringTest.java Changeset: 8d0baee36c71 Author: lana Date: 2013-01-10 15:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8d0baee36c71 Merge Changeset: 56c97aff46bb Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/56c97aff46bb Added tag jdk8-b73 for changeset 8d0baee36c71 ! .hgtags Changeset: 54e4ba223319 Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/54e4ba223319 Added tag jdk8-b74 for changeset 56c97aff46bb ! .hgtags Changeset: fc4cb1577ad6 Author: jjg Date: 2013-01-10 19:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/fc4cb1577ad6 8004834: Add doclint support into javadoc Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! test/com/sun/javadoc/5093723/T5093723.java ! test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testReturnTag/TestReturnTag.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java ! test/tools/javadoc/6958836/Test.java ! test/tools/javadoc/6964914/Test.java ! test/tools/javadoc/6964914/TestStdDoclet.java ! test/tools/javadoc/MaxWarns.java ! test/tools/javadoc/T6551367.java + test/tools/javadoc/doclint/DocLintTest.java Changeset: 9f42a06a49c0 Author: jfranck Date: 2013-01-14 19:52 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/9f42a06a49c0 7193719: Support repeating annotations in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/Element.java Changeset: df694c775e8a Author: jjg Date: 2013-01-14 13:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/df694c775e8a 8006119: update javac to follow latest spec for repeatable annotations Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/BasicRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/CheckTargets.java ! test/tools/javac/annotations/repeatingAnnotations/ClassReaderDefault.java ! test/tools/javac/annotations/repeatingAnnotations/ContainerHasRepeatedContained.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.out ! test/tools/javac/annotations/repeatingAnnotations/DefaultCasePresent.java ! test/tools/javac/annotations/repeatingAnnotations/DelayRepeatedContainer.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InvalidTarget.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.out - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.out ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.out ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.java ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.out ! test/tools/javac/annotations/repeatingAnnotations/MultiLevelRepeatableAnno.java ! test/tools/javac/annotations/repeatingAnnotations/MultipleAnnoMixedOrder.java ! test/tools/javac/annotations/repeatingAnnotations/NestedContainers.java ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out ! test/tools/javac/annotations/repeatingAnnotations/RepMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepSelfMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingAndContainerPresent.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/tools/javac/annotations/repeatingAnnotations/SelfRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/SingleRepeatingAndContainer.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java + test/tools/javac/annotations/repeatingAnnotations/UseWrongRepeatable.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.out ! test/tools/javac/annotations/repeatingAnnotations/combo/BasicSyntaxCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DeprecatedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DocumentedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/tools/javac/annotations/repeatingAnnotations/combo/InheritedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/RetentionAnnoCombo.java ! test/tools/javac/diags/examples.not-yet.txt - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java ! test/tools/javac/diags/examples/InvalidDuplicateAnnotation.java + test/tools/javac/diags/examples/RepeatableDocumentedMismatch.java + test/tools/javac/diags/examples/RepeatableInheritedMismatch.java + test/tools/javac/diags/examples/RepeatableNoValue.java + test/tools/javac/diags/examples/RepeatableNonDefault.java + test/tools/javac/diags/examples/RepeatableRetentionMismatch.java + test/tools/javac/diags/examples/RepeatableTargetMismatch.java + test/tools/javac/diags/examples/RepeatableWrongValueType.java ! test/tools/javac/diags/examples/RepeatingAnnotationAndContainer.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java Changeset: d54b4a091450 Author: jjg Date: 2013-01-14 14:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/d54b4a091450 8006241: Test DocRootSlash.java fails Reviewed-by: darcy ! test/com/sun/javadoc/DocRootSlash/DocRootSlash.java Changeset: f805b5e3c9d1 Author: chegar Date: 2013-01-15 20:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f805b5e3c9d1 8006344: Broken javadoc link in javax.lang.model.element.Element Reviewed-by: lancea, alanb, jfranck ! src/share/classes/javax/lang/model/element/Element.java Changeset: bc1023e0e533 Author: jjg Date: 2013-01-15 13:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bc1023e0e533 8006224: Doclint NPE for attribute with no value Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/AnchorTest.java + test/tools/doclint/AnchorTest.out Changeset: f785dcac17b7 Author: mcimadamore Date: 2013-01-16 16:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f785dcac17b7 8005854: Add support for array constructor references Summary: Support constructor references of the kind int[]::new Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/lambda/MethodReference59.java + test/tools/javac/lambda/MethodReference60.java + test/tools/javac/lambda/MethodReference60.out Changeset: 7aa2025bbb7b Author: mcimadamore Date: 2013-01-16 16:30 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7aa2025bbb7b 8005299: Add FunctionalInterface checking to javac Summary: Javac should check that types annotated with @FunctionalInterface are indeed functional interfaces Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/BadFunctionalIntfAnno.java ! test/tools/javac/lambda/BadConv03.out ! test/tools/javac/lambda/BadLambdaPos.out ! test/tools/javac/lambda/BadTargetType.out + test/tools/javac/lambda/FunctionalInterfaceAnno.java + test/tools/javac/lambda/FunctionalInterfaceAnno.out ! test/tools/javac/lambda/Intersection01.out ! test/tools/javac/lambda/LambdaConv09.out ! test/tools/javac/lambda/LambdaExpr10.out ! test/tools/javac/lambda/MethodReference04.out ! test/tools/javac/lambda/TargetType17.out ! test/tools/javac/lambda/TargetType43.out ! test/tools/javac/lambda/funcInterfaces/LambdaTest2_neg1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM3.out ! test/tools/javac/lambda/lambdaExpression/AbstractClass_neg.out ! test/tools/javac/lambda/lambdaExpression/InvalidExpression5.out Changeset: 1afdf1f1472b Author: mcimadamore Date: 2013-01-16 17:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1afdf1f1472b 8005964: Regression: difference in error recovery after ambiguity causes JCK test failure Summary: Wrong implementation of ResolveError.access in AmbiguityError Reviewed-by: jjh ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 6b6311a8c9cc Author: jjg Date: 2013-01-16 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6b6311a8c9cc 8006236: doclint: structural issue hidden Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/EndTagsTest.java + test/tools/doclint/EndTagsTest.out Changeset: 63b20bde7cd6 Author: lana Date: 2013-01-16 12:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/63b20bde7cd6 Merge Changeset: 8b749558767b Author: darcy Date: 2013-01-16 13:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8b749558767b 8006283: Change to Class.cast() in javax.lang.model implementation for repeating annotations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java Changeset: 916143318f10 Author: jjg Date: 2013-01-16 20:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/916143318f10 8006228: Doclint doesn't detect {@code nested inline} Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/LiteralTest.java + test/tools/doclint/LiteralTest.out Changeset: 2d2b2be57c78 Author: mcimadamore Date: 2013-01-17 18:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2d2b2be57c78 8005852: Treatment of '_' as identifier Summary: warn when '_' is found in an identifier position Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/lambda/LambdaParserTest.java Changeset: 22e417cdddee Author: ohrstrom Date: 2013-01-18 00:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/22e417cdddee 8004658: Add internal smart javac wrapper to solve JEP 139 Reviewed-by: jjg ! make/build.properties ! make/build.xml + src/share/classes/com/sun/tools/sjavac/BuildState.java + src/share/classes/com/sun/tools/sjavac/CleanProperties.java + src/share/classes/com/sun/tools/sjavac/CompileChunk.java + src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java + src/share/classes/com/sun/tools/sjavac/CompileProperties.java + src/share/classes/com/sun/tools/sjavac/CopyFile.java + src/share/classes/com/sun/tools/sjavac/JavacState.java + src/share/classes/com/sun/tools/sjavac/Log.java + src/share/classes/com/sun/tools/sjavac/Main.java + src/share/classes/com/sun/tools/sjavac/Module.java + src/share/classes/com/sun/tools/sjavac/Package.java + src/share/classes/com/sun/tools/sjavac/ProblemException.java + src/share/classes/com/sun/tools/sjavac/Source.java + src/share/classes/com/sun/tools/sjavac/Transformer.java + src/share/classes/com/sun/tools/sjavac/Util.java + src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java + src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java + src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java + src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java + src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java + src/share/classes/com/sun/tools/sjavac/server/JavacServer.java + src/share/classes/com/sun/tools/sjavac/server/PortFile.java + src/share/classes/com/sun/tools/sjavac/server/SysInfo.java + test/tools/sjavac/SJavac.java Changeset: 3d84ae209919 Author: mcimadamore Date: 2013-01-18 15:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3d84ae209919 8006561: Langtools test failure: missing diags/examples Summary: forgot to hg add tests Reviewed-by: jjg + test/tools/javac/diags/examples/UnderscoreAsIdentifier.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.out Changeset: 4a3cfc970c6f Author: jjg Date: 2013-01-21 10:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4a3cfc970c6f 8006263: Supplementary test cases needed for doclint Reviewed-by: mcimadamore Contributed-by: peter.jensen at oracle.com ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/DocLint.java ! src/share/classes/com/sun/tools/doclint/Entity.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java + test/tools/doclint/CoverageExtras.java ! test/tools/doclint/DocLintTester.java + test/tools/doclint/html/EntitiesTest.java + test/tools/doclint/html/EntitiesTest.out + test/tools/doclint/tool/HelpTest.java + test/tools/doclint/tool/HelpTest.out + test/tools/doclint/tool/MaxDiagsTest.java + test/tools/doclint/tool/MaxDiagsTest.out + test/tools/doclint/tool/PathsTest.java + test/tools/doclint/tool/RunTest.java + test/tools/doclint/tool/StatsTest.java + test/tools/doclint/tool/StatsTest.out Changeset: 967052c425a1 Author: jjg Date: 2013-01-21 10:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/967052c425a1 8006251: doclint: incorrect position for diagnostic for illegal text in tags Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties ! test/tools/doclint/HtmlTagsTest.java ! test/tools/doclint/HtmlTagsTest.out + test/tools/doclint/html/BlockTagsTest.java + test/tools/doclint/html/InlineTagsTest.java + test/tools/doclint/html/ListTagsTest.java + test/tools/doclint/html/OtherTagsTest.java + test/tools/doclint/html/OtherTagsTest.out + test/tools/doclint/html/TableTagsTest.java + test/tools/doclint/html/TagNotAllowed.java + test/tools/doclint/html/TagNotAllowed.out + test/tools/doclint/html/TextNotAllowed.java + test/tools/doclint/html/TextNotAllowed.out ! test/tools/doclint/tidy/ParaInPre.out ! test/tools/doclint/tidy/TextNotAllowed.out Changeset: b450959b42ff Author: lana Date: 2013-01-20 23:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b450959b42ff Merge Changeset: 1985e35e97b2 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1985e35e97b2 Merge Changeset: 7873d37f5b37 Author: mcimadamore Date: 2013-01-21 20:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7873d37f5b37 8005244: Implement overload resolution as per latest spec EDR Summary: Add support for stuck expressions and provisional applicability Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/Diagnostics/6722234/T6722234d_1.out ! test/tools/javac/Diagnostics/6722234/T6722234d_2.out ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/diags/examples/CyclicInference.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java ! test/tools/javac/diags/examples/WhereIntersection.java ! test/tools/javac/generics/diamond/T6939780.out ! test/tools/javac/generics/diamond/neg/Neg05.out ! test/tools/javac/generics/diamond/neg/Neg10.java ! test/tools/javac/generics/diamond/neg/Neg10.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6638712/T6638712b.out ! test/tools/javac/generics/inference/6650759/T6650759m.out ! test/tools/javac/lambda/MethodReference25.java + test/tools/javac/lambda/MethodReference25.out ! test/tools/javac/lambda/MethodReference26.java - test/tools/javac/lambda/MethodReference26.out ! test/tools/javac/lambda/MethodReference43.java ! test/tools/javac/lambda/TargetType01.java + test/tools/javac/lambda/TargetType01.out ! test/tools/javac/lambda/TargetType06.java - test/tools/javac/lambda/TargetType06.out ! test/tools/javac/lambda/TargetType10.out ! test/tools/javac/lambda/TargetType11.java - test/tools/javac/lambda/TargetType11.out ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out ! test/tools/javac/lambda/TargetType26.out ! test/tools/javac/lambda/TargetType27.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType39.out ! test/tools/javac/lambda/TargetType45.java - test/tools/javac/lambda/TargetType45.out ! test/tools/javac/lambda/TargetType50.out + test/tools/javac/lambda/TargetType51.java + test/tools/javac/lambda/TargetType52.java + test/tools/javac/lambda/TargetType52.out ! test/tools/javac/lambda/VoidCompatibility.java - test/tools/javac/lambda/VoidCompatibility.out ! test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java ! test/tools/javac/lambda/methodReference/SamConversion.java ! test/tools/javac/lambda/methodReference/SamConversionComboTest.java ! test/tools/javac/lambda/typeInference/InferenceTest_neg5.out ! test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java Changeset: c7c41a044e7c Author: mcimadamore Date: 2013-01-21 20:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c7c41a044e7c 8006566: Remove transient lambda-related guards from JavacParser Summary: Remove transitional internal flag for allowing intersection types in cast Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/cast/intersection/IntersectionTypeParserTest.java ! test/tools/javac/cast/intersection/model/Model01.java ! test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java ! test/tools/javac/lambda/Intersection01.java ! test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java Changeset: b12ffdfa1341 Author: mcimadamore Date: 2013-01-21 20:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b12ffdfa1341 8005851: Remove support for synchronized interface methods Summary: Synchronized default methods are no longer supported Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Changeset: cf84b07a82db Author: mcimadamore Date: 2013-01-21 20:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/cf84b07a82db 8005166: Add support for static interface methods Summary: Support public static interface methods Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/defaultMethods/static/Static01.java + test/tools/javac/defaultMethods/static/Static02.java + test/tools/javac/defaultMethods/static/Static02.out + test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java + test/tools/javac/defaultMethods/static/import/StaticImport1.java + test/tools/javac/defaultMethods/static/import/StaticImport2.java + test/tools/javac/defaultMethods/static/import/StaticImport2.out + test/tools/javac/defaultMethods/static/import/StaticImport3.java + test/tools/javac/defaultMethods/static/import/StaticImport3.out + test/tools/javac/defaultMethods/static/import/pkg/A.java + test/tools/javac/defaultMethods/static/import/pkg/B.java + test/tools/javac/defaultMethods/static/import/pkg/C.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java + test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java + test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java Changeset: be443002e970 Author: mcimadamore Date: 2013-01-22 16:23 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/be443002e970 8006673: TargetType52 fails because of bad golden file Summary: Fix golden file in negative test Reviewed-by: jjg ! test/tools/javac/lambda/TargetType52.out Changeset: b61e5f801f7c Author: mcimadamore Date: 2013-01-22 16:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b61e5f801f7c 8006684: Compiler produces java.lang.VerifyError: Bad type on operand stack Summary: Lambda desugaring generates spurious references to 'this' in static contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaExpr21.java Changeset: 8943b4213f59 Author: jjg Date: 2013-01-22 18:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8943b4213f59 8006723: sjavac test fails to compile on clean build Reviewed-by: ksrini ! test/tools/sjavac/SJavac.java + test/tools/sjavac/SJavacWrapper.java Changeset: f5b70712e0d5 Author: jjg Date: 2013-01-22 19:06 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/f5b70712e0d5 8006728: temporarily workaround jtreg problems for doclint tests in othervm Reviewed-by: jjh + test/tools/doclint/html/AAA.java + test/tools/doclint/tidy/AAA.java + test/tools/doclint/tool/AAA.java Changeset: 385828dd5604 Author: jjg Date: 2013-01-22 19:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/385828dd5604 Merge Changeset: 97bd5e7151bc Author: mcimadamore Date: 2013-01-23 15:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/97bd5e7151bc 8006692: jdk/test/java/util/Collections/BigBinarySearch.java fails to compile Summary: Missing boxing cause spurious inference failure Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8006692/T8006692.java Changeset: 5c956be64b9e Author: vromero Date: 2013-01-23 20:57 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/5c956be64b9e 8006694: temporarily workaround combo tests are causing time out in several platforms Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! test/Makefile ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: 71f35e4b93a5 Author: jjg Date: 2013-01-23 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/71f35e4b93a5 8006775: JSR 308: Compiler changes in JDK8 Reviewed-by: jjg Contributed-by: mernst at cs.washington.edu, wmdietl at cs.washington.edu, mpapi at csail.mit.edu, mahmood at notnoop.com + src/share/classes/com/sun/javadoc/AnnotatedType.java ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/javadoc/TypeVariable.java + src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java + src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java + src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java + src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/SourceVersion.java + src/share/classes/javax/lang/model/type/AnnotatedType.java ! src/share/classes/javax/lang/model/type/ExecutableType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/Types.java + test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java + test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java + test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java + test/com/sun/javadoc/typeAnnotations/smoke/pkg/TargetTypes.java ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/7129225/TestImportStar.ref ! test/tools/javac/T6873845.java + test/tools/javac/T6985181.java ! test/tools/javac/annotations/6881115/T6881115.java ! test/tools/javac/annotations/6881115/T6881115.out + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out + test/tools/javac/annotations/typeAnnotations/InnerClass.java + test/tools/javac/annotations/typeAnnotations/MultipleTargets.java + test/tools/javac/annotations/typeAnnotations/TargetTypes.java + test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java + test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java + test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java + test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java + test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java + test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java + test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java + test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java + test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java + test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java + test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java + test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out + test/tools/javac/annotations/typeAnnotations/failures/BadCast.java + test/tools/javac/annotations/typeAnnotations/failures/BadCast.out + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.out + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.out + test/tools/javac/annotations/typeAnnotations/failures/LintCast.java + test/tools/javac/annotations/typeAnnotations/failures/LintCast.out + test/tools/javac/annotations/typeAnnotations/failures/OldArray.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.out + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.out + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out + test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java + test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.java + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.out + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.out + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.out + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.out + test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java + test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java + test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out + test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java + test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java + test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java + test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java ! test/tools/javac/api/EndPositions.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/CantAnnotateNestedType.java + test/tools/javac/diags/examples/CantAnnotateStaticClass.java + test/tools/javac/diags/examples/IncorrectReceiverType.java + test/tools/javac/diags/examples/NoAnnotationsOnDotClass.java + test/tools/javac/diags/examples/ThisAsIdentifier.java + test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/processing/6994946/SemanticErrorTest.2.out ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java + test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.ref ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java + test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.ref ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/tree/TreePosTest.java + test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out + test/tools/javap/typeAnnotations/JSR175Annotations.java + test/tools/javap/typeAnnotations/NewArray.java + test/tools/javap/typeAnnotations/Presence.java + test/tools/javap/typeAnnotations/PresenceInner.java + test/tools/javap/typeAnnotations/T6855990.java + test/tools/javap/typeAnnotations/TypeCasts.java + test/tools/javap/typeAnnotations/Visibility.java + test/tools/javap/typeAnnotations/Wildcards.java Changeset: 09f65aad4759 Author: darcy Date: 2013-01-23 20:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/09f65aad4759 8006264: Add explanation of why default methods cannot be used in JDK 8 javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/share/classes/javax/lang/model/element/ElementVisitor.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor8.java Changeset: c2e11e2ec4a3 Author: lana Date: 2013-01-26 19:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c2e11e2ec4a3 Merge - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: 716935fec613 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/716935fec613 Added tag jdk8-b75 for changeset c2e11e2ec4a3 ! .hgtags From daniel.daugherty at oracle.com Fri Feb 1 15:39:57 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 16:39:57 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <510C524D.8080908@oracle.com> > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): New bug is now filed: 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 https://jbs.oracle.com/bugs/browse/JDK-8007420 Of course, the tests cannot be pushed until the HSX changes have made it into a promoted build and thus available to JDK8-T&L. Dan On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > > > From daniel.daugherty at oracle.com Fri Feb 1 15:55:11 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 01 Feb 2013 16:55:11 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C524D.8080908@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> Message-ID: <510C55DF.3000002@oracle.com> And here is the webrev for the new tests (relative to JDK8-T&L): http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ As always, comments and suggestions are welcome. Dan On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: > > There are two new tests that will be pushed to the JDK repos using > > a different bug ID (not yet filed): > > New bug is now filed: > > 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 > to java/lang/instrument > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 > https://jbs.oracle.com/bugs/browse/JDK-8007420 > > Of course, the tests cannot be pushed until the HSX changes have made > it into a promoted build and thus available to JDK8-T&L. > > Dan > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > > > From bernard.traversat at oracle.com Fri Feb 1 18:57:50 2013 From: bernard.traversat at oracle.com (Bernard Traversat) Date: Fri, 1 Feb 2013 18:57:50 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <1F7FB056-C02E-4F96-A36C-A7B4FA0FAB51@oracle.com> Excellent! Cheers, B. On Feb 1, 2013, at 11:55 AM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From joe.darcy at oracle.com Fri Feb 1 19:30:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 02 Feb 2013 03:30:18 +0000 Subject: hg: jdk8/tl/jdk: 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Message-ID: <20130202033040.8FE714779B@hg.openjdk.java.net> Changeset: cba578db5f39 Author: darcy Date: 2013-02-01 19:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cba578db5f39 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Reviewed-by: shade ! src/share/classes/java/lang/Double.java From yumin.qi at oracle.com Fri Feb 1 19:32:23 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Sat, 02 Feb 2013 03:32:23 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 5 new changesets Message-ID: <20130202033234.A2ED84779C@hg.openjdk.java.net> Changeset: 9bf5f643d1cf Author: sspitsyn Date: 2013-01-31 20:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9bf5f643d1cf 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds Summary: Need a support for invokedynamic entry kinds when new and old constant pools are merged. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: dc31f560d6e7 Author: sspitsyn Date: 2013-01-31 20:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc31f560d6e7 8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() Summary: Simple typos that need to be fixed Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp Changeset: 79c1bb8fce5d Author: sspitsyn Date: 2013-01-31 20:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/79c1bb8fce5d 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic Summary: The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 9a9f870325cf Author: minqi Date: 2013-02-01 10:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9a9f870325cf Merge Changeset: b935589d2807 Author: minqi Date: 2013-02-01 14:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b935589d2807 Merge From kumar.x.srinivasan at oracle.com Fri Feb 1 22:14:53 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:14:53 +0000 Subject: hg: jdk8/tl/jdk: 8003549: (pack200) assertion errors when processing lambda class files with IMethods Message-ID: <20130202061505.74629477A0@hg.openjdk.java.net> Changeset: c1aaa8451547 Author: ksrini Date: 2013-02-01 22:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1aaa8451547 8003549: (pack200) assertion errors when processing lambda class files with IMethods Summary: add more check for opcode, sketch provided by jrose Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! test/ProblemList.txt + test/tools/pack200/InstructionTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java From kumar.x.srinivasan at oracle.com Fri Feb 1 22:19:32 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 06:19:32 +0000 Subject: hg: jdk8/tl/jdk: 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Message-ID: <20130202061944.78EC3477A1@hg.openjdk.java.net> Changeset: 6c88a12ea834 Author: ksrini Date: 2013-02-01 22:18 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6c88a12ea834 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Reviewed-by: mchung ! test/ProblemList.txt From jiangli.zhou at oracle.com Fri Feb 1 23:44:12 2013 From: jiangli.zhou at oracle.com (jiangli.zhou at oracle.com) Date: Sat, 02 Feb 2013 07:44:12 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202074417.DC20D477A2@hg.openjdk.java.net> Changeset: 44c5fcd9cb25 Author: iklam Date: 2013-01-24 10:57 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/44c5fcd9cb25 8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam at oracle.com ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: 1eae78177059 Author: jiangli Date: 2013-02-01 15:25 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1eae78177059 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: dc8ad3fd7050 Author: jiangli Date: 2013-02-01 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc8ad3fd7050 Merge From christian.tornqvist at oracle.com Sat Feb 2 03:48:07 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sat, 02 Feb 2013 11:48:07 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202114816.6EFD1477A7@hg.openjdk.java.net> Changeset: 4102b59539ce Author: ctornqvi Date: 2013-02-01 23:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4102b59539ce 8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/memory/allocation.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memPtr.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 4460acf8687b Author: ctornqvi Date: 2013-02-02 07:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4460acf8687b Merge Changeset: 9fe95b01ad32 Author: ctornqvi Date: 2013-02-02 08:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9fe95b01ad32 Merge From yumin.qi at oracle.com Sat Feb 2 05:51:06 2013 From: yumin.qi at oracle.com (yumin.qi at oracle.com) Date: Sat, 02 Feb 2013 13:51:06 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130202135114.702C9477A9@hg.openjdk.java.net> Changeset: 43badbe2717a Author: minqi Date: 2013-01-31 17:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/43badbe2717a 8000973: SA on windows thread inspection is broken Summary: After bug 7161732, On Windows SA could not find correct address of thread_id of OSThread since _thread_id moved to end of the class . The presupposition of the address is following thread handle no longer stands. Fix by adding thread_id field to OSThread and getting the address directly from OSThread. Reviewed-by: nloodin, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java Changeset: 65b632b77a97 Author: minqi Date: 2013-02-01 22:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/65b632b77a97 Merge Changeset: ff5401ad5635 Author: minqi Date: 2013-02-02 03:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ff5401ad5635 Merge From chris.hegarty at oracle.com Sat Feb 2 09:17:54 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 02 Feb 2013 17:17:54 +0000 Subject: hg: jdk8/tl/jdk: 8007322: untangle ftp protocol from general networking URL tests Message-ID: <20130202171835.0C9F0477AA@hg.openjdk.java.net> Changeset: ee83319029a5 Author: chegar Date: 2013-02-02 17:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ee83319029a5 8007322: untangle ftp protocol from general networking URL tests Reviewed-by: alanb ! test/java/net/URL/Constructor.java ! test/java/net/URL/HandlerLoop.java ! test/java/net/URL/Test.java ! test/java/net/URL/URIToURLTest.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls ! test/java/net/URLConnection/RequestProperties.java ! test/java/net/URLConnection/RequestPropertyValues.java + test/sun/net/ftp/EncDec.doc + test/sun/net/ftp/MarkResetTest.java + test/sun/net/ftp/MarkResetTest.sh - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/ProxyTest.java From christian.tornqvist at oracle.com Sat Feb 2 11:07:30 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sat, 02 Feb 2013 19:07:30 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8005013: Add NMT tests Message-ID: <20130202190735.17B0A477AF@hg.openjdk.java.net> Changeset: 879c6de913d6 Author: ctornqvi Date: 2013-02-02 16:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/879c6de913d6 8005013: Add NMT tests Summary: Add tests for the Native Memory Tracking feature, includes regression tests for 8005936 and 8004802 Reviewed-by: zgu, coleenp ! test/TEST.ROOT + test/runtime/NMT/AllocTestType.java + test/runtime/NMT/BaselineWithParameter.java + test/runtime/NMT/CommandLineDetail.java + test/runtime/NMT/CommandLineEmptyArgument.java + test/runtime/NMT/CommandLineInvalidArgument.java + test/runtime/NMT/CommandLineSummary.java + test/runtime/NMT/CommandLineTurnOffNMT.java + test/runtime/NMT/JcmdScale.java + test/runtime/NMT/JcmdWithNMTDisabled.java + test/runtime/NMT/PrintNMTStatistics.java + test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java + test/runtime/NMT/ShutdownTwice.java + test/runtime/NMT/SummaryAfterShutdown.java + test/runtime/NMT/SummarySanityCheck.java From kumar.x.srinivasan at oracle.com Sat Feb 2 12:09:37 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sat, 02 Feb 2013 20:09:37 +0000 Subject: hg: jdk8/tl/jdk: 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Message-ID: <20130202201002.9FBF7477B0@hg.openjdk.java.net> Changeset: 25831e7009c4 Author: ksrini Date: 2013-02-02 12:08 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/25831e7009c4 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Reviewed-by: ksrini, mduigou Contributed-by: ragini.prasad at oracle.com ! test/tools/launcher/VersionCheck.java From vicente.romero at oracle.com Sat Feb 2 13:50:03 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sat, 02 Feb 2013 21:50:03 +0000 Subject: hg: jdk8/tl/langtools: 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Message-ID: <20130202215006.3A5B9477B4@hg.openjdk.java.net> Changeset: 4cc73ec94686 Author: vromero Date: 2013-02-02 21:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4cc73ec94686 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java From christian.tornqvist at oracle.com Sat Feb 2 17:25:05 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Sun, 03 Feb 2013 01:25:05 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8000363: runtime/7158988/FieldMonitor.java fails with exception Message-ID: <20130203012510.A2F4C477B5@hg.openjdk.java.net> Changeset: a7f9a1195d86 Author: ctornqvi Date: 2013-02-02 20:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a7f9a1195d86 8000363: runtime/7158988/FieldMonitor.java fails with exception Summary: Removed unnecessary shell script in the test. Reviewed-by: coleenp, sla ! test/runtime/7158988/FieldMonitor.java - test/runtime/7158988/TestFieldMonitor.sh From vicente.romero at oracle.com Sat Feb 2 18:33:08 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Sun, 03 Feb 2013 02:33:08 +0000 Subject: hg: jdk8/tl/langtools: 7199823: javac generates inner class that can't be verified Message-ID: <20130203023317.D15C2477B9@hg.openjdk.java.net> Changeset: a51a8dac0a2f Author: vromero Date: 2013-02-03 02:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/a51a8dac0a2f 7199823: javac generates inner class that can't be verified Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7199823/InnerClassCannotBeVerified.java From dmitry.degrave at oracle.com Sun Feb 3 06:21:53 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Sun, 03 Feb 2013 14:21:53 +0000 Subject: hg: jdk8/tl/jdk: 6471906: java.lang.NegativeArraySizeException in tenToThe Message-ID: <20130203142216.7F1E2477BE@hg.openjdk.java.net> Changeset: 308d1362b60a Author: dmeetry Date: 2013-02-03 18:20 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/308d1362b60a 6471906: java.lang.NegativeArraySizeException in tenToThe Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/math/BigDecimal.java From dmitry.samersoff at oracle.com Sun Feb 3 09:40:26 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Sun, 03 Feb 2013 17:40:26 +0000 Subject: hg: jdk8/tl/jdk: 8002048: Protocol to discovery of manageable Java processes on a network Message-ID: <20130203174102.567C3477C3@hg.openjdk.java.net> Changeset: 962d6612cace Author: dsamersoff Date: 2013-02-03 21:39 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/962d6612cace 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/classes/sun/management/Agent.java + src/share/classes/sun/management/jdp/JdpBroadcaster.java + src/share/classes/sun/management/jdp/JdpController.java + src/share/classes/sun/management/jdp/JdpException.java + src/share/classes/sun/management/jdp/JdpGenericPacket.java + src/share/classes/sun/management/jdp/JdpJmxPacket.java + src/share/classes/sun/management/jdp/JdpPacket.java + src/share/classes/sun/management/jdp/JdpPacketReader.java + src/share/classes/sun/management/jdp/JdpPacketWriter.java + src/share/classes/sun/management/jdp/package-info.java + test/sun/management/jdp/JdpClient.java + test/sun/management/jdp/JdpDoSomething.java + test/sun/management/jdp/JdpTest.sh + test/sun/management/jdp/JdpUnitTest.java From staffan.larsen at oracle.com Sun Feb 3 12:18:24 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Sun, 3 Feb 2013 21:18:24 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <510C018D.2060104@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> <510C018D.2060104@oracle.com> Message-ID: <5EFDCAFD-53B0-48BD-8AC4-D5C6425842A0@oracle.com> On 1 feb 2013, at 18:55, Yumin Qi wrote: > Staffan, > > This looks good. One question is why not set it to _thread_id? is it because it is 64bit int and on other platforms 32 bits? Do you mean reusing the _thread_id field instead of adding a new field? I think we need the current value of the _thread_id field (the mach thread port) for other purposes in Hotspot where the unique thread id does not work out. > os_bsd.cpp: > > 858 #ifdef __APPLE__ > 859 osthread->set_thread_id(::mach_thread_self()); > 860 osthread->set_unique_thread_id(locate_unique_thread_id()); > 861 #else > 862 osthread->set_thread_id(::pthread_self()); > 863 #endif > 864 osthread->set_pthread_id(::pthread_self()); > > I would like to remove #else part, my understanding is only SA uses _unique_thread_id. The #else part is for non-apple bsd ports (FreeBSD for example). Only the apple port of the bsd code can use the unique thread id. I'm not sure how this works on other bsds, so I don't want to change that code. While I'm reviewing you Mach-o core file reader, I realize that you use the stack pointer for identifying threads. This was one of the options in my implementation. Given that you are using it for core files, then it makes sense to use the same solution for attached processes. I'm thinking that maybe I should revisit my solution and remove the _unique_thread_id. /Staffan > > Thanks > Yumin > > > On 1/17/2013 11:48 AM, Staffan Larsen wrote: >> This is a request for review of a fix for SA on OS X. >> >> webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ >> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 >> >> The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. >> >> Thanks, >> /Staffan >> >> >> >> In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). >> >> The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. >> >> thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." >> >> My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. >> >> There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. >> >> So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). >> >> Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. >> >> This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. >> >> Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. >> >> From dmitry.samersoff at oracle.com Sun Feb 3 14:06:20 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Sun, 03 Feb 2013 22:06:20 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8002048: Protocol to discovery of manageable Java processes on a network Message-ID: <20130203220624.53212477CA@hg.openjdk.java.net> Changeset: 8f696cf1a0fb Author: dsamersoff Date: 2013-02-03 22:28 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8f696cf1a0fb 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp From harold.seigel at oracle.com Sun Feb 3 17:44:58 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 04 Feb 2013 01:44:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130204014505.37179477CC@hg.openjdk.java.net> Changeset: c4ef3380a70b Author: hseigel Date: 2013-02-03 16:49 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c4ef3380a70b 7197672: There are issues with shared data on windows Summary: On Windows, set rw protection on the CDS file just before removing it. Reviewed-by: dcubed, iklam ! src/share/vm/memory/filemap.cpp Changeset: ce5467120c84 Author: hseigel Date: 2013-02-03 17:12 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ce5467120c84 Merge From Alan.Bateman at oracle.com Mon Feb 4 01:42:11 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 09:42:11 +0000 Subject: hg: jdk8/tl/jdk: 8002048: Protocol to discovery of manageable Java processes on a network In-Reply-To: <20130203174102.567C3477C3@hg.openjdk.java.net> References: <20130203174102.567C3477C3@hg.openjdk.java.net> Message-ID: <510F8273.4020504@oracle.com> Dmitry - the test doesn't compile/run with jtreg, was it tested before you pushed this? -Alan On 03/02/2013 17:40, dmitry.samersoff at oracle.com wrote: > Changeset: 962d6612cace > Author: dsamersoff > Date: 2013-02-03 21:39 +0400 > URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/962d6612cace > > 8002048: Protocol to discovery of manageable Java processes on a network > Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP > Reviewed-by: sla, dfuchs > > ! src/share/classes/sun/management/Agent.java > + src/share/classes/sun/management/jdp/JdpBroadcaster.java > + src/share/classes/sun/management/jdp/JdpController.java > + src/share/classes/sun/management/jdp/JdpException.java > + src/share/classes/sun/management/jdp/JdpGenericPacket.java > + src/share/classes/sun/management/jdp/JdpJmxPacket.java > + src/share/classes/sun/management/jdp/JdpPacket.java > + src/share/classes/sun/management/jdp/JdpPacketReader.java > + src/share/classes/sun/management/jdp/JdpPacketWriter.java > + src/share/classes/sun/management/jdp/package-info.java > + test/sun/management/jdp/JdpClient.java > + test/sun/management/jdp/JdpDoSomething.java > + test/sun/management/jdp/JdpTest.sh > + test/sun/management/jdp/JdpUnitTest.java > From yekaterina.kantserova at oracle.com Mon Feb 4 02:33:16 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Mon, 04 Feb 2013 11:33:16 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510BDCAA.1080909@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> Message-ID: <510F8E6C.2090301@oracle.com> On 02/01/2013 04:18 PM, Alan Bateman wrote: > On 01/02/2013 15:06, Yekaterina Kantserova wrote: >> >> Thanks for explanation! But I'm still confused. >> >> In my use case I need to test /_the tool_/ I'll find with >> JDKToolFinder. It will work if just -jdk will be specified. But if >> -compilejdk happens to be specified the results of my tests will be >> useless. Furthermore, it would be hard to detect. Do you think there >> is a solution that covers all use cases? > I don't think it make sense to specify -compilejdk and not -jdk. Does > that help? > > -Alan No, it was a bad example. Let's take another one: /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ In this case JDKToolFinder.getJDKTool("jcmd") will return LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. There is an example in ProcessTools.java: ... /** * Create ProcessBuilder using *the java launcher from the jdk to be tested* * and with any platform specific arguments prepended */ public static ProcessBuilder createJavaProcessBuilder(String... command) throws Exception { String javapath = JDKToolFinder.getJDKTool("java"); ArrayList args = new ArrayList<>(); args.add(javapath); Collections.addAll(args, getPlatformSpecificVMArgs()); Collections.addAll(args, command); return new ProcessBuilder(args.toArray(new String[args.size()])); } ... May be we need another solution for testing a JRE? JREToolFinder for example, which can be implemented later? Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/80da4696/attachment.html From Alan.Bateman at oracle.com Mon Feb 4 02:55:15 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 10:55:15 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F8E6C.2090301@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> Message-ID: <510F9393.8080509@oracle.com> On 04/02/2013 10:33, Yekaterina Kantserova wrote: > > No, it was a bad example. Let's take another one: > > /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ > > In this case JDKToolFinder.getJDKTool("jcmd") will return > LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. The -compilejdk option should only be used when testing a JRE -- ie: no tools in the runtime under test. So this your example shouldn't include the -compilejdk option as it is testing a JDK. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/d42bb5d7/attachment.html From yekaterina.kantserova at oracle.com Mon Feb 4 03:03:50 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Mon, 04 Feb 2013 12:03:50 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F9393.8080509@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> Message-ID: <510F9596.8060503@oracle.com> On 02/04/2013 11:55 AM, Alan Bateman wrote: > On 04/02/2013 10:33, Yekaterina Kantserova wrote: >> >> No, it was a bad example. Let's take another one: >> >> /java -jar jtreg.jar -jdk MONKEY -compilejdk LION test.java/ >> >> In this case JDKToolFinder.getJDKTool("jcmd") will return >> LION/bin/jcmd, but I need to test MONKEY/bin/jcmd. > The -compilejdk option should only be used when testing a JRE -- ie: > no tools in the runtime under test. > > So this your example shouldn't include the -compilejdk option as it is > testing a JDK. > > -Alan. But JDKToolFinder.getJDKTool is used even for finding java, e.g. I need to fork a java process - JDKToolFinder.getJDKTool("java") for some JRE tests? // Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/4edf238c/attachment-0001.html From Alan.Bateman at oracle.com Mon Feb 4 05:18:41 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Mon, 04 Feb 2013 13:18:41 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510F9596.8060503@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> Message-ID: <510FB531.8040407@oracle.com> On 04/02/2013 11:03, Yekaterina Kantserova wrote: > > But JDKToolFinder.getJDKTool is used even for finding java, e.g. I > need to fork a java process - JDKToolFinder.getJDKTool("java") for > some JRE tests? It might be better to rename JDKToolFinder to something like JdkFinder and have it define getJavaLauncher() and getTool(String tool) methods. If you don't agree then you could at least change ProcessTools.createJavaProcessBuilder so that it looks like "java" in the JDK/JRE under test. -Alan. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/7489d262/attachment.html From daniel.daugherty at oracle.com Mon Feb 4 07:15:26 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 08:15:26 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FC519.1090808@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> Message-ID: <510FD08E.2050403@oracle.com> Adding back the missing aliases and people... Coleen, Thanks for the review. Replies embedded below. On 2/4/13 7:26 AM, Coleen Phillimore wrote: > On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > In cpCache.cpp: > RC_TRACE_NO_CR(0x00004000, ("")); > > > Can this "searchable prefix" be defined in jvmtiTracing with the rest > of the RC_TRACE macros as some descriptive RC_TRACE name? Doesn't have > to be long but this is distracting stuff. Also, if you change this > searchable prefix, you'd only have to change it once. In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro calls adds a searchable prefix for each dump line when the dump code is called from JVM/TI RedefineClasses tracing. Other code that calls the cpCache dump code won't get the JVM/TI RedefineClasses tracing prefix. The purpose for the prefix is so that all tracing output for a particular tracing level, e.g., 0x00004000, is grep'able together. It wouldn't be appropriate to add the "searchable prefix" to the jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI RedefineClasses tracing are associated with the code being traced. > In jvmtiRedefineClasses.cpp why can't dump_methods just print the > methods without these RC_TRACE macros? Debug output style for JVM/TI RedefineClasses()is supposed to be done using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for dump_methods() to do its output the way it was so I fixed it. > And some is printed and some is not? No, in this case, every line will have a jvmtiTraceRedefineClasses prefix on it when that tracing level is turned on. Example: RedefineClasses-0x4000: _old_methods -- RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void RedefineSubclassWithTwoInterfacesTarget.() RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) Again, the prefix, "RedefineClasses-0x4000:", exists so that everything at that tracing level is grep'able together. > This is really hard to read. The indentation came out strange in the > webrev too. Yes, the original dump_methods() code didn't follow hotspot style and I reformatted it since I was changing much of the code in the function. I tend to use "frames" view in webrevs and I don't see any issues with indentation. > It looks like the call to dump_methods() is covered by one of these > RC_TRACE macros. Yes, I did that intentionally. If I didn't then I would have to have redone all the print code to match jvmtiTraceRedefineClasses style. It was easier to add RC_TRACE_NO_CR() calls where needed and protect the initial call with an RC_TRACE_ENABLED check. > Why isn't that enough? Because all RedefineClasses debug output is supposed to have a prefix like this one: RedefineClasses-0x4000: _old_methods -- > This is really distracting because I keep wondering why it's > RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. Oh, > it's no carriage return. Ugh. You mean like print_cr()? :-) > I still would like dump_methods to always dump all the methods so if > you're debugging this you can temporarily paste this call various > places without trying to figure out which RC_TRACE number to give it. Sorry, that's not how debugging in RedefineClasses is supposed to work. dump_methods() was an outlier that needed to be fixed so that it matched the rest of the jvmtiTraceRedefineClasses infrastructure. Of course, the Serviceability team is welcome to change this debugging code to suite their own style and tastes. I think that would be an easier task if it was all "the same". Dan > > Coleen > >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/3331856b/attachment-0001.html From karen.kinnear at oracle.com Mon Feb 4 07:19:53 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Mon, 4 Feb 2013 10:19:53 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: Dan, All 3 versions of the code looks good. Thank you for enabling the printing for product since this type of problem is so hard to duplicate. A small note, I think it would have been easier for the internal code logic for the CPCE::check_no_old_or_obsolete_entries to reverse the true/false, but no need to change. I would appreciate the comment from is_interesting_method_entry copied to check_no_old_or_obsolete_entries about virtual and final that f2 contains a method ptr instead of a vtable index. In the jdk8 version in cpCache.cpp you've added the is_valid checks for metadata. For a future cleanup, do we need f2_as_vfinal_method and is_interesting_method_entry to do that as well? Is redefineclasses supported in the MinimalVM? thanks, Karen On Feb 1, 2013, at 2:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From coleen.phillimore at oracle.com Mon Feb 4 07:34:54 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 10:34:54 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FD08E.2050403@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> Message-ID: <510FD51E.2040100@oracle.com> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: > Adding back the missing aliases and people... Sorry, I meant to send this re-all. I missed something major in my earlier review. The metadata->is_valid() flag should only be enabled in debug mode. It adds a word to all metadata. > > > Coleen, > > Thanks for the review. Replies embedded below. > > > On 2/4/13 7:26 AM, Coleen Phillimore wrote: >> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> In cpCache.cpp: >> RC_TRACE_NO_CR(0x00004000, ("")); >> >> >> Can this "searchable prefix" be defined in jvmtiTracing with the rest >> of the RC_TRACE macros as some descriptive RC_TRACE name? Doesn't >> have to be long but this is distracting stuff. Also, if you change >> this searchable prefix, you'd only have to change it once. > > In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro > calls adds a searchable prefix for each dump line when the dump code > is called from JVM/TI RedefineClasses tracing. Other code that calls > the cpCache dump code won't get the JVM/TI RedefineClasses tracing > prefix. The purpose for the prefix is so that all tracing output for > a particular tracing level, e.g., 0x00004000, is grep'able together. This function void ConstantPoolCacheEntry::print(outputStream* st, int index) const { } Is general purpose code. It shouldn't have all these lines specific to redefine classes. If it needs to, the noise should be minimized. You can add a define in that trace macros.hpp file: #define RC_PREFIX This code shouldn't be present in the general purpose metadata printing. The dump_vtable and dump_itable functions are arguable since they seem to only be used by redefine classes now, but I can see a general purpose use for these too that shouldn't include this noise. > > It wouldn't be appropriate to add the "searchable prefix" to the > jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI > RedefineClasses tracing are associated with the code being traced. > > >> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >> methods without these RC_TRACE macros? > > Debug output style for JVM/TI RedefineClasses()is supposed to be done > using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for > dump_methods() to do its output the way it was so I fixed it. > >> And some is printed and some is not? > > No, in this case, every line will have a jvmtiTraceRedefineClasses > prefix on it when that tracing level is turned on. Example: > > RedefineClasses-0x4000: _old_methods -- > RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void > RedefineSubclassWithTwoInterfacesTarget.() > RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual > jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) > > Again, the prefix, "RedefineClasses-0x4000:", exists so that everything > at that tracing level is grep'able together. > > >> This is really hard to read. The indentation came out strange in >> the webrev too. > > Yes, the original dump_methods() code didn't follow hotspot > style and I reformatted it since I was changing much of the > code in the function. > > I tend to use "frames" view in webrevs and I don't see any > issues with indentation. > > I see what happened with dump_methods. I think it was refactored (to cut/paste places) and the indentation wasn't fixed. You can leave the noise in there since it's in redefine/classes, but I really object to it in the general purpose code. Coleen > >> It looks like the call to dump_methods() is covered by one of these >> RC_TRACE macros. > > Yes, I did that intentionally. If I didn't then I would have to have > redone all the print code to match jvmtiTraceRedefineClasses style. > It was easier to add RC_TRACE_NO_CR() calls where needed and protect > the initial call with an RC_TRACE_ENABLED check. > > >> Why isn't that enough? > > Because all RedefineClasses debug output is supposed to have a > prefix like this one: > > RedefineClasses-0x4000: _old_methods -- > > >> This is really distracting because I keep wondering why it's >> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >> Oh, it's no carriage return. Ugh. > > You mean like print_cr()? :-) > > >> I still would like dump_methods to always dump all the methods so if >> you're debugging this you can temporarily paste this call various >> places without trying to figure out which RC_TRACE number to give it. > > Sorry, that's not how debugging in RedefineClasses is supposed to work. > dump_methods() was an outlier that needed to be fixed so that it matched > the rest of the jvmtiTraceRedefineClasses infrastructure. > > Of course, the Serviceability team is welcome to change this debugging > code to suite their own style and tastes. I think that would be an easier > task if it was all "the same". > > Dan > > >> >> Coleen >> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/c5f275aa/attachment-0001.html From erik.helin at oracle.com Mon Feb 4 08:01:22 2013 From: erik.helin at oracle.com (Erik Helin) Date: Mon, 04 Feb 2013 17:01:22 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <510697F1.8040808@oracle.com> References: <51011226.9050509@oracle.com> <51017131.7040603@oracle.com> <25C8A64B-FEDF-4736-8CF1-02F1DE7E4FDC@oracle.com> <510697F1.8040808@oracle.com> Message-ID: <510FDB52.5070000@oracle.com> There have been some updates to the hotspot code based on feedback from the hotspot-gc-dev mailing list. The only change to the JDK code is that the namespace is back to "sun.gc" :) New webrevs: - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ Thanks, Erik On 01/28/2013 04:23 PM, Erik Helin wrote: > Jon Masamitsu suggested that the "sun.rt" namespace should be used > instead of the "sun.gc" namespace. I've updated both the jdk and the > hotspot code based on this suggestion. > > New webrevs: > - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.01/ > - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.02/ > > Thanks, > Erik > > On 01/25/2013 09:01 AM, Staffan Larsen wrote: >> Looks good! >> >> /Staffan >> >> On 24 jan 2013, at 18:36, Erik Helin wrote: >> >>> Hi Staffan, >>> >>> thanks for reviewing this! >>> >>> On 01/24/2013 01:27 PM, Staffan Larsen wrote: >>>> The JDK changes look good, but I think there is change needed in >>>> test/sun/tools/jstatd/jstatGcutilOutput1.awk as well. >>> >>> Yes, you are right. Please see an updated webrev at: >>> http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.01/ >>> >>> Thanks, >>> Erik >>> >>>> Thanks, >>>> /Staffan >>>> >>>> On 24 jan 2013, at 11:51, Erik Helin wrote: >>>> >>>>> Hi all, >>>>> >>>>> here are the JDK changes for fixing JDK-8004172. This change >>>>> updates the jstat resource file to use the new metaspace >>>>> performance counters and also updates the tests. >>>>> >>>>> Note that the fixed tests will continue to fail until the HotSpot >>>>> part of the change finds it way into the tl forest. >>>>> >>>>> The HotSpot part of the change is also out for review on >>>>> hotspot-gc-dev at openjdk.java.net. >>>>> >>>>> Webrev: >>>>> JDK: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.00/ >>>>> HotSpot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.00/ >>>>> >>>>> Bug: >>>>> http://bugs.sun.com/view_bug.do?bug_id=8004172 >>>>> >>>>> Testing: >>>>> Run the jstat jtreg tests locally on my machine on a repository >>>>> where I've applied both the JDK changes and the HotSpot changes. >>>>> >>>>> Thanks, >>>>> Erik >>>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 08:40:16 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 09:40:16 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: References: <510C1DC6.2010607@oracle.com> Message-ID: <510FE470.1020405@oracle.com> Karen, Thanks for the reviews! Replies embedded below. On 2/4/13 8:19 AM, Karen Kinnear wrote: > Dan, > > All 3 versions of the code looks good. Thank you for enabling the printing for product since > this type of problem is so hard to duplicate. You're welcome. > A small note, I think it would have been easier for the internal code logic > for the CPCE::check_no_old_or_obsolete_entries to reverse the true/false, > but no need to change. The original code added by Robert on 2006.04.21 used "check_no_old_entries" so I followed his lead in my rename. > I would appreciate the comment from > is_interesting_method_entry copied to check_no_old_or_obsolete_entries > about virtual and final that f2 contains a method ptr instead of a vtable index. So this comment here on line 498: 497 if (is_vfinal()) { 498 // virtual and final so _f2 contains method ptr instead of vtable index 499 m = (methodOop)_f2; Copied to this new block here: 475 if (is_vfinal()) { 476 methodOop m = (methodOop)_f2; between line 475 and 476 (for the HSX23.6 version). Between line 580 and 581 in the HSX-24 version and between line 465 and 466 in the HSX-25 version. I'll make that change. > In the jdk8 version in cpCache.cpp you've added the is_valid checks for metadata. The is_valid() check may go away since the field it is using adds to memory footprint. Stay tuned. > For a future cleanup, do we need f2_as_vfinal_method and is_interesting_method_entry > to do that as well? This line in the HSX-25 version: 466 Metadata* f2 = (Metadata*)_f2; should probably have used f2_as_vfinal_method(). I'll have to check with Coleen to find out if there is a reason why it doesn't; there may be a good reason. I noticed that there is quite a bit of "type cleanup" in the HSX-24 version of is_interesting_method_entry(), e.g.: In HSX23.6: 497 if (is_vfinal()) { 498 // virtual and final so _f2 contains method ptr instead of vtable index 499 m = (methodOop)_f2; 500 } else if ((oop)_f1 == NULL) { 501 // NULL _f1 means this is a virtual entry so also not interesting 502 return false; In HSX24: 602 if (is_vfinal()) { 603 // virtual and final so _f2 contains method ptr instead of vtable index 604 m = f2_as_vfinal_method(); 605 } else if (is_f1_null()) { 606 // NULL _f1 means this is a virtual entry so also not interesting 607 return false; check_no_old_or_obsolete_entries() could definitely benefit from the better code in is_interesting_method_entry(). In particular, this block in is_interesting_method_entry(): 491 if (!is_method_entry()) { 492 // not a method entry so not interesting by default 493 return false; 494 } is present in the HSX-23.6, HSX-24, and HSX-25 versions of is_interesting_method_entry(), but is not used by the original check_no_old_entries() or any of the new check_no_old_or_obsolete_entries(). I'll put that info in the new bug to track the future work. > Is redefineclasses supported in the MinimalVM? I don't know the answer to that. I have not been tracking the MinimalVM work. I'll investigate and get back to you. Again, thanks for the reviews. Dan > > thanks, > Karen > > On Feb 1, 2013, at 2:55 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> From daniel.daugherty at oracle.com Mon Feb 4 08:50:37 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 09:50:37 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FD51E.2040100@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> Message-ID: <510FE6DD.1010704@oracle.com> Thanks for the additional comment. Reply below. On 2/4/13 8:34 AM, Coleen Phillimore wrote: > On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >> Adding back the missing aliases and people... > > Sorry, I meant to send this re-all. > > I missed something major in my earlier review. > > The metadata->is_valid() flag should only be enabled in debug mode. > It adds a word to all metadata. Yes, I'm aware that it adds a word to all meta data. My change to src/share/vm/oops/metadata.hpp was intentional. Personally, I would prefer that is_valid() remain in the product bits for at least one release cycle (JDK8). I'm a fan of sanity checks in product bits so I actually wouldn't mind if it stay there permanently. However, if you insist, I'll backout the change to src/share/vm/oops/metadata.hpp and redo the RedefineClasses() sanity check code to be appropriately #ifdef'ed. Dan >> >> >> Coleen, >> >> Thanks for the review. Replies embedded below. >> >> >> On 2/4/13 7:26 AM, Coleen Phillimore wrote: >>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> In cpCache.cpp: >>> RC_TRACE_NO_CR(0x00004000, ("")); >>> >>> >>> Can this "searchable prefix" be defined in jvmtiTracing with the >>> rest of the RC_TRACE macros as some descriptive RC_TRACE name? >>> Doesn't have to be long but this is distracting stuff. Also, if >>> you change this searchable prefix, you'd only have to change it once. >> >> In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro >> calls adds a searchable prefix for each dump line when the dump code >> is called from JVM/TI RedefineClasses tracing. Other code that calls >> the cpCache dump code won't get the JVM/TI RedefineClasses tracing >> prefix. The purpose for the prefix is so that all tracing output for >> a particular tracing level, e.g., 0x00004000, is grep'able together. > This function > void ConstantPoolCacheEntry::print(outputStream* st, int index) const { > } > > Is general purpose code. It shouldn't have all these lines specific to > redefine classes. If it needs to, the noise should be minimized. You > can add a define in that trace macros.hpp file: > > #define RC_PREFIX > > This code shouldn't be present in the general purpose metadata > printing. The dump_vtable and dump_itable functions are arguable > since they seem to only be used by redefine classes now, but I can see > a general purpose use for these too that shouldn't include this noise. > > >> >> It wouldn't be appropriate to add the "searchable prefix" to the >> jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI >> RedefineClasses tracing are associated with the code being traced. >> >> >>> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >>> methods without these RC_TRACE macros? >> >> Debug output style for JVM/TI RedefineClasses()is supposed to be done >> using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for >> dump_methods() to do its output the way it was so I fixed it. >> >>> And some is printed and some is not? >> >> No, in this case, every line will have a jvmtiTraceRedefineClasses >> prefix on it when that tracing level is turned on. Example: >> >> RedefineClasses-0x4000: _old_methods -- >> RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void >> RedefineSubclassWithTwoInterfacesTarget.() >> RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual >> jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) >> >> Again, the prefix, "RedefineClasses-0x4000:", exists so that everything >> at that tracing level is grep'able together. >> >> >>> This is really hard to read. The indentation came out strange in >>> the webrev too. >> >> Yes, the original dump_methods() code didn't follow hotspot >> style and I reformatted it since I was changing much of the >> code in the function. >> >> I tend to use "frames" view in webrevs and I don't see any >> issues with indentation. >> >> > > I see what happened with dump_methods. I think it was refactored (to > cut/paste places) and the indentation wasn't fixed. You can leave the > noise in there since it's in redefine/classes, but I really object to > it in the general purpose code. > > Coleen > >> >>> It looks like the call to dump_methods() is covered by one of these >>> RC_TRACE macros. >> >> Yes, I did that intentionally. If I didn't then I would have to have >> redone all the print code to match jvmtiTraceRedefineClasses style. >> It was easier to add RC_TRACE_NO_CR() calls where needed and protect >> the initial call with an RC_TRACE_ENABLED check. >> >> >>> Why isn't that enough? >> >> Because all RedefineClasses debug output is supposed to have a >> prefix like this one: >> >> RedefineClasses-0x4000: _old_methods -- >> >> >>> This is really distracting because I keep wondering why it's >>> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >>> Oh, it's no carriage return. Ugh. >> >> You mean like print_cr()? :-) >> >> >>> I still would like dump_methods to always dump all the methods so if >>> you're debugging this you can temporarily paste this call various >>> places without trying to figure out which RC_TRACE number to give it. >> >> Sorry, that's not how debugging in RedefineClasses is supposed to work. >> dump_methods() was an outlier that needed to be fixed so that it matched >> the rest of the jvmtiTraceRedefineClasses infrastructure. >> >> Of course, the Serviceability team is welcome to change this debugging >> code to suite their own style and tastes. I think that would be an easier >> task if it was all "the same". >> >> Dan >> >> >>> >>> Coleen >>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/77db5f12/attachment-0001.html From coleen.phillimore at oracle.com Mon Feb 4 09:16:21 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 12:16:21 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FE6DD.1010704@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> Message-ID: <510FECE5.8040300@oracle.com> On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: > Thanks for the additional comment. Reply below. > > > On 2/4/13 8:34 AM, Coleen Phillimore wrote: >> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>> Adding back the missing aliases and people... >> >> Sorry, I meant to send this re-all. >> >> I missed something major in my earlier review. >> >> The metadata->is_valid() flag should only be enabled in debug mode. >> It adds a word to all metadata. > > Yes, I'm aware that it adds a word to all meta data. My change to > src/share/vm/oops/metadata.hpp was intentional. Personally, I would > prefer that is_valid() remain in the product bits for at least one > release cycle (JDK8). I'm a fan of sanity checks in product bits so > I actually wouldn't mind if it stay there permanently. > > However, if you insist, I'll backout the change to > src/share/vm/oops/metadata.hpp and redo the RedefineClasses() > sanity check code to be appropriately #ifdef'ed. Thanks, Dan. I do. People are actively trying to reduce metadata right now, so having this additional word will cause a regression that will be noticed for a special case. is_valid() is a bit of a hack too. It relies on metadata being returned and given a non-zero bit pattern which is only enabled in debug (iirc). There's also a f1_as_method and f2_as_vfinal_method calls that return Method* which might make the logic of your if statements simpler in check_no_old_or_obsolete_entries(). Thanks, Coleen > > Dan > > > > >>> >>> >>> Coleen, >>> >>> Thanks for the review. Replies embedded below. >>> >>> >>> On 2/4/13 7:26 AM, Coleen Phillimore wrote: >>>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> In cpCache.cpp: >>>> RC_TRACE_NO_CR(0x00004000, ("")); >>>> >>>> >>>> Can this "searchable prefix" be defined in jvmtiTracing with the >>>> rest of the RC_TRACE macros as some descriptive RC_TRACE name? >>>> Doesn't have to be long but this is distracting stuff. Also, if >>>> you change this searchable prefix, you'd only have to change it once. >>> >>> In the cpCache.cpp case, the RC_TRACE_NO_CR(0x00004000, ("")) macro >>> calls adds a searchable prefix for each dump line when the dump code >>> is called from JVM/TI RedefineClasses tracing. Other code that calls >>> the cpCache dump code won't get the JVM/TI RedefineClasses tracing >>> prefix. The purpose for the prefix is so that all tracing output for >>> a particular tracing level, e.g., 0x00004000, is grep'able together. >> This function >> void ConstantPoolCacheEntry::print(outputStream* st, int index) const { >> } >> >> Is general purpose code. It shouldn't have all these lines specific >> to redefine classes. If it needs to, the noise should be minimized. >> You can add a define in that trace macros.hpp file: >> >> #define RC_PREFIX >> >> This code shouldn't be present in the general purpose metadata >> printing. The dump_vtable and dump_itable functions are arguable >> since they seem to only be used by redefine classes now, but I can >> see a general purpose use for these too that shouldn't include this >> noise. >> >> >>> >>> It wouldn't be appropriate to add the "searchable prefix" to the >>> jvmtiTraceRedefineClasses.hpp file. The HEX values in JVM/TI >>> RedefineClasses tracing are associated with the code being traced. >>> >>> >>>> In jvmtiRedefineClasses.cpp why can't dump_methods just print the >>>> methods without these RC_TRACE macros? >>> >>> Debug output style for JVM/TI RedefineClasses()is supposed to be done >>> using the jvmtiTraceRedefineClasses mechanism. It was inconsistent for >>> dump_methods() to do its output the way it was so I fixed it. >>> >>>> And some is printed and some is not? >>> >>> No, in this case, every line will have a jvmtiTraceRedefineClasses >>> prefix on it when that tracing level is turned on. Example: >>> >>> RedefineClasses-0x4000: _old_methods -- >>> RedefineClasses-0x4000: 0 ( -2) public {old} -- virtual void >>> RedefineSubclassWithTwoInterfacesTarget.() >>> RedefineClasses-0x4000: 1 ( 5) public {old} {obsolete} -- virtual >>> jobject RedefineSubclassWithTwoInterfacesTarget.echo(jobject) >>> >>> Again, the prefix, "RedefineClasses-0x4000:", exists so that everything >>> at that tracing level is grep'able together. >>> >>> >>>> This is really hard to read. The indentation came out strange in >>>> the webrev too. >>> >>> Yes, the original dump_methods() code didn't follow hotspot >>> style and I reformatted it since I was changing much of the >>> code in the function. >>> >>> I tend to use "frames" view in webrevs and I don't see any >>> issues with indentation. >>> >>> >> >> I see what happened with dump_methods. I think it was refactored (to >> cut/paste places) and the indentation wasn't fixed. You can leave >> the noise in there since it's in redefine/classes, but I really >> object to it in the general purpose code. >> >> Coleen >> >>> >>>> It looks like the call to dump_methods() is covered by one of these >>>> RC_TRACE macros. >>> >>> Yes, I did that intentionally. If I didn't then I would have to have >>> redone all the print code to match jvmtiTraceRedefineClasses style. >>> It was easier to add RC_TRACE_NO_CR() calls where needed and protect >>> the initial call with an RC_TRACE_ENABLED check. >>> >>> >>>> Why isn't that enough? >>> >>> Because all RedefineClasses debug output is supposed to have a >>> prefix like this one: >>> >>> RedefineClasses-0x4000: _old_methods -- >>> >>> >>>> This is really distracting because I keep wondering why it's >>>> RC_TRACE_NO_CR (don't file a CR??) rather than reading the code. >>>> Oh, it's no carriage return. Ugh. >>> >>> You mean like print_cr()? :-) >>> >>> >>>> I still would like dump_methods to always dump all the methods so >>>> if you're debugging this you can temporarily paste this call >>>> various places without trying to figure out which RC_TRACE number >>>> to give it. >>> >>> Sorry, that's not how debugging in RedefineClasses is supposed to work. >>> dump_methods() was an outlier that needed to be fixed so that it matched >>> the rest of the jvmtiTraceRedefineClasses infrastructure. >>> >>> Of course, the Serviceability team is welcome to change this debugging >>> code to suite their own style and tastes. I think that would be an >>> easier >>> task if it was all "the same". >>> >>> Dan >>> >>> >>>> >>>> Coleen >>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/3fd962c5/attachment-0001.html From daniel.daugherty at oracle.com Mon Feb 4 09:19:55 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 10:19:55 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FCF32.5050006@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> Message-ID: <510FEDBB.8060008@oracle.com> Adding back dropped aliases and people... Thanks for reviewing the first test! Replies embedded below. On 2/4/13 8:09 AM, Coleen Phillimore wrote: > On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > I am so impressed that you were able to write a test for this. Thanks. The shame of it is that I wrote this test back when I fixed the 1-liner bug back in 2009. The test never got pushed to the JDK repo so the regression was able to sneak in later. Sigh. > I can't follow this shell script at all. Who calls createJavaFile? This test is written using the JDI ShellScaffold.sh infrastructure in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). createJavaFile() is a hook called by ShellScaffold.sh to create the .java file that will be exercised by the test. > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html > > > I think a limited amount of duplication of Java code in the test > directory is worth having these scripts be more simple. It looks > like the only thing that substituted in the java test is the main > class, but lines 66 to 104 can be a stand-alone java source file. No, the main class just has the breakpoints. This is the line for the redefinition: 76 // @1 uncomment System.out.println("This is call " + counter + " to checkFunc"); so the original version doesn't have this line and new version has this line. The glue that makes all that work is in TestScaffold.sh. I don't remember for sure, but I think JDI ShellScaffold.sh does not work well with multiple .java files. It has been a long time since I've written a test in this format. These JDI .sh tests are meant to be standalone if need be. That's why this comment is always here: 143 # You could replace this next line with the contents 144 # of ShellScaffold.sh and this script will run just the same. 145 mysetup > Again, I can't really follow the logic here and I dread ever having to > debug this. Can you simplify this? Which part? By definition, RedefineClasses tests are complicated because you have to have at least two versions of .class files, sometimes more. This test is reproducing a bug using "jdb" so there is all the infra that supports controlling "jdb". I think this test is as simple as it can be given the context, but I'm open to specific simplification suggestions. Did you plan to review the java.lang.instrument (JLI) test? It's a bit more convoluted because it is trying to mimic the WLS test case. Dan > > Thanks, > Coleen > >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From vincent.x.ryan at oracle.com Mon Feb 4 09:21:27 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Mon, 04 Feb 2013 17:21:27 +0000 Subject: hg: jdk8/tl/jdk: 8006994: Cleanup PKCS12 tests to ensure streams get closed Message-ID: <20130204172205.4E993477EF@hg.openjdk.java.net> Changeset: 5bf1c9e6be60 Author: vinnie Date: 2013-02-04 17:20 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5bf1c9e6be60 8006994: Cleanup PKCS12 tests to ensure streams get closed Reviewed-by: mullan ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StorePasswordTest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/pkcs12/StoreTrustedCertTest.java From daniel.daugherty at oracle.com Mon Feb 4 09:26:44 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 10:26:44 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FECE5.8040300@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> <510FECE5.8040300@oracle.com> Message-ID: <510FEF54.3030307@oracle.com> On 2/4/13 10:16 AM, Coleen Phillimore wrote: > On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: >> Thanks for the additional comment. Reply below. >> >> >> On 2/4/13 8:34 AM, Coleen Phillimore wrote: >>> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>>> Adding back the missing aliases and people... >>> >>> Sorry, I meant to send this re-all. >>> >>> I missed something major in my earlier review. >>> >>> The metadata->is_valid() flag should only be enabled in debug mode. >>> It adds a word to all metadata. >> >> Yes, I'm aware that it adds a word to all meta data. My change to >> src/share/vm/oops/metadata.hpp was intentional. Personally, I would >> prefer that is_valid() remain in the product bits for at least one >> release cycle (JDK8). I'm a fan of sanity checks in product bits so >> I actually wouldn't mind if it stay there permanently. >> >> However, if you insist, I'll backout the change to >> src/share/vm/oops/metadata.hpp and redo the RedefineClasses() >> sanity check code to be appropriately #ifdef'ed. > > Thanks, Dan. I do. People are actively trying to reduce metadata > right now, so having this additional word will cause a regression that > will be noticed for a special case. is_valid() is a bit of a hack > too. It relies on metadata being returned and given a non-zero bit > pattern which is only enabled in debug (iirc). I enabled the setting of the non-zero bit pattern also (iirc). However, I will back out those changes. I don't want to cause grief for the metadata reduction effort. > There's also a f1_as_method and f2_as_vfinal_method calls that return > Method* which might make the logic of your if statements simpler in > check_no_old_or_obsolete_entries(). Yes, Karen mentioned one of those in her review and asked for that cleanup to be tracked in a followup bug. I noticed quite a few "type cleanups" in that area in HSX-24 and I love them. I'm presuming that you did that work, but I haven't chased the history to ground. Dan > > Thanks, > Coleen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/07b8ec6d/attachment.html From coleen.phillimore at oracle.com Mon Feb 4 09:28:21 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 12:28:21 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FEF54.3030307@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FC519.1090808@oracle.com> <510FD08E.2050403@oracle.com> <510FD51E.2040100@oracle.com> <510FE6DD.1010704@oracle.com> <510FECE5.8040300@oracle.com> <510FEF54.3030307@oracle.com> Message-ID: <510FEFB5.5050209@oracle.com> On 2/4/2013 12:26 PM, Daniel D. Daugherty wrote: > On 2/4/13 10:16 AM, Coleen Phillimore wrote: >> On 2/4/2013 11:50 AM, Daniel D. Daugherty wrote: >>> Thanks for the additional comment. Reply below. >>> >>> >>> On 2/4/13 8:34 AM, Coleen Phillimore wrote: >>>> On 2/4/2013 10:15 AM, Daniel D. Daugherty wrote: >>>>> Adding back the missing aliases and people... >>>> >>>> Sorry, I meant to send this re-all. >>>> >>>> I missed something major in my earlier review. >>>> >>>> The metadata->is_valid() flag should only be enabled in debug >>>> mode. It adds a word to all metadata. >>> >>> Yes, I'm aware that it adds a word to all meta data. My change to >>> src/share/vm/oops/metadata.hpp was intentional. Personally, I would >>> prefer that is_valid() remain in the product bits for at least one >>> release cycle (JDK8). I'm a fan of sanity checks in product bits so >>> I actually wouldn't mind if it stay there permanently. >>> >>> However, if you insist, I'll backout the change to >>> src/share/vm/oops/metadata.hpp and redo the RedefineClasses() >>> sanity check code to be appropriately #ifdef'ed. >> >> Thanks, Dan. I do. People are actively trying to reduce metadata >> right now, so having this additional word will cause a regression >> that will be noticed for a special case. is_valid() is a bit of a >> hack too. It relies on metadata being returned and given a non-zero >> bit pattern which is only enabled in debug (iirc). > > I enabled the setting of the non-zero bit pattern also (iirc). > However, I will back out those changes. I don't want to cause > grief for the metadata reduction effort. > > >> There's also a f1_as_method and f2_as_vfinal_method calls that return >> Method* which might make the logic of your if statements simpler in >> check_no_old_or_obsolete_entries(). > > Yes, Karen mentioned one of those in her review and asked for > that cleanup to be tracked in a followup bug. I noticed quite > a few "type cleanups" in that area in HSX-24 and I love them. > I'm presuming that you did that work, but I haven't chased the > history to ground. It was John Rose and Christian for the JSR 292 work. I can't claim credit. Thanks! Coleen > > Dan > > >> >> Thanks, >> Coleen -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130204/dffd92fc/attachment-0001.html From serguei.spitsyn at oracle.com Mon Feb 4 11:21:16 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 04 Feb 2013 11:21:16 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <51100A2C.8000406@oracle.com> Dan, The fixes look good for all 3 HS versions (modulo discussions with Coleen and Karen). Great discovery, thank you for doing this! Thanks, Serguei On 2/1/13 11:55 AM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > From daniel.daugherty at oracle.com Mon Feb 4 11:54:59 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 12:54:59 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51100A2C.8000406@oracle.com> References: <510C1DC6.2010607@oracle.com> <51100A2C.8000406@oracle.com> Message-ID: <51101213.3070607@oracle.com> On 2/4/13 12:21 PM, serguei.spitsyn at oracle.com wrote: > Dan, > > > The fixes look good for all 3 HS versions (modulo discussions with > Coleen and Karen). > Great discovery, thank you for doing this! Thanks Serguei! I'm working on addressing Coleen's and Karen's comments and will be rolling out three new webrevs... Dan > > Thanks, > Serguei > > > > On 2/1/13 11:55 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> > From xueming.shen at oracle.com Mon Feb 4 12:00:02 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Mon, 04 Feb 2013 20:00:02 +0000 Subject: hg: jdk8/tl/jdk: 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream; ... Message-ID: <20130204200026.8C3DD477F8@hg.openjdk.java.net> Changeset: e202f43a8b8a Author: sherman Date: 2013-02-04 11:58 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e202f43a8b8a 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream 8006315: Base64.Decoder decoding methods are not consistent in treating non-padded data 8006530: Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding = Summary: updated the spec to describe the expected behave explicitly and the implementation to follow Reviewed-by: alanb, chegar, lancea ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java From coleen.phillimore at oracle.com Mon Feb 4 12:06:02 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 15:06:02 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FEDBB.8060008@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> Message-ID: <511014AA.8090007@oracle.com> On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: > Adding back dropped aliases and people... I think I have all the aliases on this, this time. > > Thanks for reviewing the first test! Replies embedded below. > Ok, now I see about the scaffolding framework for the first test. I can say it looks consistent with the other tests in that directory. I reviewed the second test too. I have some questions. in http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html In lines 70-77 you move the same two files twice. Also the file, http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html Is exactly the same as the file RedefineSubclassWithTwoInterfacesImpl.java Isn't one supposed to be derived from Target_1 rather than Target or different in some way? This second test makes more sense to me than the first anyway. Are you going to wait for the fix to get propagated before checking it in? Thanks, Coleen > > On 2/4/13 8:09 AM, Coleen Phillimore wrote: >> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> I am so impressed that you were able to write a test for this. > > Thanks. The shame of it is that I wrote this test back when I fixed > the 1-liner bug back in 2009. The test never got pushed to the JDK > repo so the regression was able to sneak in later. Sigh. > > >> I can't follow this shell script at all. Who calls createJavaFile? > > This test is written using the JDI ShellScaffold.sh infrastructure > in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). > createJavaFile() is a hook called by ShellScaffold.sh to create > the .java file that will be exercised by the test. > > >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >> >> >> I think a limited amount of duplication of Java code in the test >> directory is worth having these scripts be more simple. It looks >> like the only thing that substituted in the java test is the main >> class, but lines 66 to 104 can be a stand-alone java source file. > > No, the main class just has the breakpoints. > > This is the line for the redefinition: > > 76 // @1 uncomment System.out.println("This is call " + counter > + " to checkFunc"); > > so the original version doesn't have this line and new version > has this line. The glue that makes all that work is in TestScaffold.sh. > > I don't remember for sure, but I think JDI ShellScaffold.sh does not > work well with multiple .java files. It has been a long time since > I've written a test in this format. These JDI .sh tests are meant to > be standalone if need be. That's why this comment is always here: > > 143 # You could replace this next line with the contents > 144 # of ShellScaffold.sh and this script will run just the same. > 145 mysetup > > >> Again, I can't really follow the logic here and I dread ever having >> to debug this. Can you simplify this? > > Which part? By definition, RedefineClasses tests are complicated because > you have to have at least two versions of .class files, sometimes more. > This test is reproducing a bug using "jdb" so there is all the infra > that supports controlling "jdb". > > I think this test is as simple as it can be given the context, but I'm > open to specific simplification suggestions. > > Did you plan to review the java.lang.instrument (JLI) test? It's a bit > more convoluted because it is trying to mimic the WLS test case. > > Dan > > >> >> Thanks, >> Coleen >> >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 13:08:06 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 14:08:06 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C1DC6.2010607@oracle.com> References: <510C1DC6.2010607@oracle.com> Message-ID: <51102336.9000808@oracle.com> Greetings, I've updated the fix due to comments in Code Review Round 0. Here is a summary of changes made to the various files: src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) src/share/vm/oops/cpCache.cpp (HSX-25) src/share/vm/oops/klassVtable.cpp - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; these files are outside of JVM/TI RedefineClasses proper so the tracing/debug style should not be dictated by JVM/TI RedefineClasses style that is currently in use - did not touch the existing RC_TRACE... macros in the file; removing the existing macro calls would be outside the scope of this bug src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) src/share/vm/oops/cpCache.cpp (HSX-25) - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() src/share/vm/oops/klassVtable.cpp - Copied the new comment intended to prevent the "break" from re-materializing again from klassItable::adjust_method_entries() to klassVtable::adjust_method_entries(); yes, I'm paranoid. In the HSX-25 version only: src/share/vm/oops/metadata.hpp - revert changes src/share/vm/oops/cpCacheOop.cpp src/share/vm/oops/klassVtable.cpp - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate Here are the URLs for the updated webrevs: http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ The JPDA stack testing that I started on Friday is still running on WinXP so I'm blocked for checking the recompile due to these changes. I'll start a recompile on Solaris X86, but that will take some time. Thanks, in advance, for more comments, suggestions or questions. Dan On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: > Greetings, > > I have a fix for the following JVM/TI bug: > > 7182152 Instrumentation hot swap test incorrect monitor count > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 > https://jbs.oracle.com/bugs/browse/JDK-7182152 > > The fix for the bug in the product code is one line: > > src/share/vm/oops/klassVtable.cpp: > > @@ -992,18 +1020,50 @@ > // RC_TRACE macro has an embedded ResourceMark > RC_TRACE(0x00200000, ("itable method update: %s(%s)", > new_method->name()->as_C_string(), > new_method->signature()->as_C_string())); > } > - break; > + // cannot 'break' here; see for-loop comment above. > } > ime++; > } > } > } > > and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen > already fixed the bug as part of the Perm Gen Removal (PGR) project > in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR > changeset. Many thanks to Coleen for her help in this bug hunt! > > The rest of the code in the webrevs are: > > - additional JVM/TI tracing code backported from Coleen's PGR changeset > - additional JVM/TI tracing code added by me and forward ported to HSX-25 > - a new -XX:TraceRedefineClasses=16384 flag value for finding these > elusive old or obsolete methods > - exposure of some printing code to the PRODUCT build so that the new > tracing is available in a PRODUCT build > > You might be wondering why the new tracing code is exposed in a PRODUCT > build. Well, it appears that more and more PRODUCT bits deployments are > using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time > to instrument their systems. This bug (7182152) was only intermittently > reproducible in the WLS environment in which it occurred so I made the > tracing available in a PRODUCT build to assist in the hunt. > > Raj from the WLS team has also verified that the HSX-23.6 version of > fix resolves the issue in his environment. Thanks Raj! > > Here are the URLs for the three webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ > > I have run the following test suites from the JPDA stack on the > JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 > specified: > > sdk-jdi > sdk-jdi_closed > sdk-jli > vm-heapdump > vm-hprof > vm-jdb > vm-jdi > vm-jdwp > vm-jvmti > vm-sajdi > > The tested configs are: > > {Solaris-X86, WinXP} > X {Client VM, Server VM} > X {-Xmixed, -Xcomp} > X {product, fastdebug} > > With the 1-liner fix in place, the new tracing code does not find any > instances of this failure mode in any of the above test suites. Without > the the 1-liner fix in place, the new tracing code finds one instance > of this failure mode in the above test suites: > > test/java/lang/instrument/IsModifiableClassAgent.java > > There are two new tests that will be pushed to the JDK repos using > a different bug ID (not yet filed): > > test/com/sun/jdi/RedefineAbstractClass.sh > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh > > There will be a separate review request for the new tests. > > I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 > and JDK8-B75/HSX-25 versions of the fix. That testing will likely > take all weekend to complete. > > Thanks, in advance, for any comments and/or suggestions. > > Dan > > > From daniel.daugherty at oracle.com Mon Feb 4 13:22:44 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 14:22:44 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511014AA.8090007@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> Message-ID: <511026A4.9030909@oracle.com> Thanks for the additional test comments. Replies embedded below. On 2/4/13 1:06 PM, Coleen Phillimore wrote: > On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: >> Adding back dropped aliases and people... > > I think I have all the aliases on this, this time. And the individual people also. Thanks! >> >> Thanks for reviewing the first test! Replies embedded below. >> > > Ok, now I see about the scaffolding framework for the first test. I > can say it looks consistent with the other tests in that directory. > > I reviewed the second test too. I have some questions. > > in > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html > > In lines 70-77 you move the same two files twice. I don't think so. Getting rid of the "RedefineSubclassWithTwoInterfaces" prefix will make the real script code more apparent: 70 mv X_Target.java \ 71 X_Target_1.java 72 mv X_Target.class \ 73 X_Target_1.class 74 mv X_Impl.java \ 75 X_Impl_1.java 76 mv X_Impl.class \ 77 X_Impl_1.class > Also the file, > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html > > > Is exactly the same as the file > RedefineSubclassWithTwoInterfacesImpl.java > > Isn't one supposed to be derived from Target_1 rather than Target or > different in some way? The "_1" stuffis just for version naming purposes. The actual class name has to be the same between Foo.java and Foo_1.java. In this particular bug's case, we only needed to redefine RedefineSubclassWithTwoInterfacesImpl with an EMCP version to tickle the bug. That's why there are no differences between RedefineSubclassWithTwoInterfacesImpl.java and RedefineSubclassWithTwoInterfacesImpl_1.java. Good eyes though. > This second test makes more sense to me than the first anyway. Are you > going to wait for the fix to get propagated before checking it in? Yes, I have to wait until the HSX fix has made it to the T&L repo before I can push the tests. Integrating failing tests intentionally is not permitted in T&L. Of course, you can integrate them disabled, but then you have to go back and enable the test sometime. Dan > Thanks, > Coleen > > >> >> On 2/4/13 8:09 AM, Coleen Phillimore wrote: >>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> I am so impressed that you were able to write a test for this. >> >> Thanks. The shame of it is that I wrote this test back when I fixed >> the 1-liner bug back in 2009. The test never got pushed to the JDK >> repo so the regression was able to sneak in later. Sigh. >> >> >>> I can't follow this shell script at all. Who calls createJavaFile? >> >> This test is written using the JDI ShellScaffold.sh infrastructure >> in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). >> createJavaFile() is a hook called by ShellScaffold.sh to create >> the .java file that will be exercised by the test. >> >> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >>> >>> >>> I think a limited amount of duplication of Java code in the test >>> directory is worth having these scripts be more simple. It looks >>> like the only thing that substituted in the java test is the main >>> class, but lines 66 to 104 can be a stand-alone java source file. >> >> No, the main class just has the breakpoints. >> >> This is the line for the redefinition: >> >> 76 // @1 uncomment System.out.println("This is call " + counter >> + " to checkFunc"); >> >> so the original version doesn't have this line and new version >> has this line. The glue that makes all that work is in TestScaffold.sh. >> >> I don't remember for sure, but I think JDI ShellScaffold.sh does not >> work well with multiple .java files. It has been a long time since >> I've written a test in this format. These JDI .sh tests are meant to >> be standalone if need be. That's why this comment is always here: >> >> 143 # You could replace this next line with the contents >> 144 # of ShellScaffold.sh and this script will run just the same. >> 145 mysetup >> >> >>> Again, I can't really follow the logic here and I dread ever having >>> to debug this. Can you simplify this? >> >> Which part? By definition, RedefineClasses tests are complicated because >> you have to have at least two versions of .class files, sometimes more. >> This test is reproducing a bug using "jdb" so there is all the infra >> that supports controlling "jdb". >> >> I think this test is as simple as it can be given the context, but I'm >> open to specific simplification suggestions. >> >> Did you plan to review the java.lang.instrument (JLI) test? It's a bit >> more convoluted because it is trying to mimic the WLS test case. >> >> Dan >> >> >>> >>> Thanks, >>> Coleen >>> >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>> >> > From coleen.phillimore at oracle.com Mon Feb 4 13:48:20 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 16:48:20 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511026A4.9030909@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> Message-ID: <51102CA4.2000603@oracle.com> Ok, my poor eyes. One short comment below. On 2/4/2013 4:22 PM, Daniel D. Daugherty wrote: > Thanks for the additional test comments. Replies embedded below. > > > On 2/4/13 1:06 PM, Coleen Phillimore wrote: >> On 2/4/2013 12:19 PM, Daniel D. Daugherty wrote: >>> Adding back dropped aliases and people... >> >> I think I have all the aliases on this, this time. > > And the individual people also. Thanks! > > >>> >>> Thanks for reviewing the first test! Replies embedded below. >>> >> >> Ok, now I see about the scaffolding framework for the first test. I >> can say it looks consistent with the other tests in that directory. >> >> I reviewed the second test too. I have some questions. >> >> in >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh.html >> >> In lines 70-77 you move the same two files twice. > > I don't think so. Getting rid of the > "RedefineSubclassWithTwoInterfaces" prefix will make the > real script code more apparent: > > 70 mv X_Target.java \ > 71 X_Target_1.java > 72 mv X_Target.class \ > 73 X_Target_1.class > 74 mv X_Impl.java \ > 75 X_Impl_1.java > 76 mv X_Impl.class \ > 77 X_Impl_1.class > >> Also the file, >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >> >> >> Is exactly the same as the file >> RedefineSubclassWithTwoInterfacesImpl.java >> >> Isn't one supposed to be derived from Target_1 rather than Target or >> different in some way? > > The "_1" stuffis just for version naming purposes. The actual > class name has to be the same between Foo.java and Foo_1.java. > > In this particular bug's case, we only needed to redefine > RedefineSubclassWithTwoInterfacesImpl with an EMCP version > to tickle the bug. That's why there are no differences > between RedefineSubclassWithTwoInterfacesImpl.java and > RedefineSubclassWithTwoInterfacesImpl_1.java. > > Good eyes though. Can you put a comment about why there are no differences but it's a different file? > > >> This second test makes more sense to me than the first anyway. Are >> you going to wait for the fix to get propagated before checking it in? > > Yes, I have to wait until the HSX fix has made it to the T&L repo > before I can push the tests. Integrating failing tests intentionally > is not permitted in T&L. Of course, you can integrate them disabled, > but then you have to go back and enable the test sometime. Yes, this is somewhat of a drag. Everything else looks fine. Thanks! Coleen > > Dan > > >> Thanks, >> Coleen >> >> >>> >>> On 2/4/13 8:09 AM, Coleen Phillimore wrote: >>>> On 2/1/2013 6:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> I am so impressed that you were able to write a test for this. >>> >>> Thanks. The shame of it is that I wrote this test back when I fixed >>> the 1-liner bug back in 2009. The test never got pushed to the JDK >>> repo so the regression was able to sneak in later. Sigh. >>> >>> >>>> I can't follow this shell script at all. Who calls createJavaFile? >>> >>> This test is written using the JDI ShellScaffold.sh infrastructure >>> in test/com/sun/jdi/ShellScaffold.sh (1106 lines of pure joy!). >>> createJavaFile() is a hook called by ShellScaffold.sh to create >>> the .java file that will be exercised by the test. >>> >>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/com/sun/jdi/RedefineAbstractClass.sh.html >>>> >>>> >>>> I think a limited amount of duplication of Java code in the test >>>> directory is worth having these scripts be more simple. It looks >>>> like the only thing that substituted in the java test is the main >>>> class, but lines 66 to 104 can be a stand-alone java source file. >>> >>> No, the main class just has the breakpoints. >>> >>> This is the line for the redefinition: >>> >>> 76 // @1 uncomment System.out.println("This is call " + >>> counter + " to checkFunc"); >>> >>> so the original version doesn't have this line and new version >>> has this line. The glue that makes all that work is in TestScaffold.sh. >>> >>> I don't remember for sure, but I think JDI ShellScaffold.sh does not >>> work well with multiple .java files. It has been a long time since >>> I've written a test in this format. These JDI .sh tests are meant to >>> be standalone if need be. That's why this comment is always here: >>> >>> 143 # You could replace this next line with the contents >>> 144 # of ShellScaffold.sh and this script will run just the same. >>> 145 mysetup >>> >>> >>>> Again, I can't really follow the logic here and I dread ever having >>>> to debug this. Can you simplify this? >>> >>> Which part? By definition, RedefineClasses tests are complicated >>> because >>> you have to have at least two versions of .class files, sometimes more. >>> This test is reproducing a bug using "jdb" so there is all the infra >>> that supports controlling "jdb". >>> >>> I think this test is as simple as it can be given the context, but I'm >>> open to specific simplification suggestions. >>> >>> Did you plan to review the java.lang.instrument (JLI) test? It's a bit >>> more convoluted because it is trying to mimic the WLS test case. >>> >>> Dan >>> >>> >>>> >>>> Thanks, >>>> Coleen >>>> >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > From harold.seigel at oracle.com Mon Feb 4 13:48:29 2013 From: harold.seigel at oracle.com (harold.seigel at oracle.com) Date: Mon, 04 Feb 2013 21:48:29 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Message-ID: <20130204214831.EF3CD47805@hg.openjdk.java.net> Changeset: 10d5f25a7c67 Author: hseigel Date: 2013-02-04 08:26 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/10d5f25a7c67 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment. Reviewed-by: kvn, roland ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp + test/runtime/8000968/Test8000968.sh From daniel.daugherty at oracle.com Mon Feb 4 14:09:04 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:09:04 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102CA4.2000603@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> Message-ID: <51103180.1070403@oracle.com> On 2/4/13 2:48 PM, Coleen Phillimore wrote: >> >>> Also the file, >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>> >>> >>> Is exactly the same as the file >>> RedefineSubclassWithTwoInterfacesImpl.java >>> >>> Isn't one supposed to be derived from Target_1 rather than Target or >>> different in some way? >> >> The "_1" stuffis just for version naming purposes. The actual >> class name has to be the same between Foo.java and Foo_1.java. >> >> In this particular bug's case, we only needed to redefine >> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >> to tickle the bug. That's why there are no differences >> between RedefineSubclassWithTwoInterfacesImpl.java and >> RedefineSubclassWithTwoInterfacesImpl_1.java. >> >> Good eyes though. > > > Can you put a comment about why there are no differences but it's a > different file? Yes. How about the following? $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. so both files are still identical, but now there is an explanation. Dan From serguei.spitsyn at oracle.com Mon Feb 4 14:25:06 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 04 Feb 2013 14:25:06 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <51103542.60607@oracle.com> It looks good to me. I remember the test fix needs a review as well. Thanks, Serguei On 2/4/13 1:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From daniel.daugherty at oracle.com Mon Feb 4 14:30:43 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:30:43 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103542.60607@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <51103542.60607@oracle.com> Message-ID: <51103693.2040705@oracle.com> Thanks for the second review! Dan On 2/4/13 3:25 PM, serguei.spitsyn at oracle.com wrote: > It looks good to me. > I remember the test fix needs a review as well. > > Thanks, > Serguei > > > > On 2/4/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from >> ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 4 14:49:52 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 15:49:52 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510FE470.1020405@oracle.com> References: <510C1DC6.2010607@oracle.com> <510FE470.1020405@oracle.com> Message-ID: <51103B10.1060805@oracle.com> On 2/4/13 9:40 AM, Daniel D. Daugherty wrote: > On 2/4/13 8:19 AM, Karen Kinnear wrote: > >> Is redefineclasses supported in the MinimalVM? > > I don't know the answer to that. I have not been tracking the > MinimalVM work. I'll investigate and get back to you. Karen, These two Makefiles: make/bsd/makefiles/minimal1.make make/linux/makefiles/minimal1.make Have these default make variable settings: INCLUDE_JVMTI ?= false INCLUDE_FPROF ?= false INCLUDE_VM_STRUCTS ?= false INCLUDE_JNI_CHECK ?= false INCLUDE_SERVICES ?= false INCLUDE_MANAGEMENT ?= false INCLUDE_ALTERNATE_GCS ?= false INCLUDE_NMT ?= false INCLUDE_CDS ?= false so it stands to reason that the minimal1 build config does not worry about RedefineClasses since that's part of JVM/TI which isn't included by default. Dan From david.holmes at oracle.com Mon Feb 4 15:15:30 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 05 Feb 2013 09:15:30 +1000 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103B10.1060805@oracle.com> References: <510C1DC6.2010607@oracle.com> <510FE470.1020405@oracle.com> <51103B10.1060805@oracle.com> Message-ID: <51104112.1020804@oracle.com> Correct - no JVM/TI and so no redefineClasses in the minimal VM. David On 5/02/2013 8:49 AM, Daniel D. Daugherty wrote: > On 2/4/13 9:40 AM, Daniel D. Daugherty wrote: >> On 2/4/13 8:19 AM, Karen Kinnear wrote: >> >>> Is redefineclasses supported in the MinimalVM? >> >> I don't know the answer to that. I have not been tracking the >> MinimalVM work. I'll investigate and get back to you. > > Karen, > > These two Makefiles: > > make/bsd/makefiles/minimal1.make > make/linux/makefiles/minimal1.make > > Have these default make variable settings: > > INCLUDE_JVMTI ?= false > INCLUDE_FPROF ?= false > INCLUDE_VM_STRUCTS ?= false > INCLUDE_JNI_CHECK ?= false > INCLUDE_SERVICES ?= false > INCLUDE_MANAGEMENT ?= false > INCLUDE_ALTERNATE_GCS ?= false > INCLUDE_NMT ?= false > INCLUDE_CDS ?= false > > so it stands to reason that the minimal1 build config > does not worry about RedefineClasses since that's part > of JVM/TI which isn't included by default. > > Dan > From coleen.phillimore at oracle.com Mon Feb 4 15:17:02 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 18:17:02 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <5110416E.8070709@oracle.com> Hi Dan, I think this version looks good. From your other reply: On 2/4/2013 11:40 AM, Daniel D. Daugherty wrote: > is present in the HSX-23.6, HSX-24, and HSX-25 versions of > is_interesting_method_entry(), but is not used by the original > check_no_old_entries() or any of the new > check_no_old_or_obsolete_entries(). > I'll put that info in the new bug to track the future work. what is this new bug? It would be nice if the guts of is_interesting_method_entry() that extracted the Method* from the appropriate field was isolated into it's own function ConstantPoolCacheEntry::get_method() and used by both. That would save the complicated logic of the if statements in check_no_old_or_obsolete entries. The other thing that might make it simpler is if is_valid() is defined with PRODUCT_RETURN_(true); so you don't have to wrap PRODUCT around it. Anyway, I reviewed all three versions of the webrev and they look correct. Thanks, Coleen On 2/4/2013 4:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From coleen.phillimore at oracle.com Mon Feb 4 15:17:59 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 04 Feb 2013 18:17:59 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51103180.1070403@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> <51103180.1070403@oracle.com> Message-ID: <511041A7.4020605@oracle.com> Comment looks good! Thanks! Coleen On 2/4/2013 5:09 PM, Daniel D. Daugherty wrote: > On 2/4/13 2:48 PM, Coleen Phillimore wrote: >>> >>>> Also the file, >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>>> >>>> >>>> Is exactly the same as the file >>>> RedefineSubclassWithTwoInterfacesImpl.java >>>> >>>> Isn't one supposed to be derived from Target_1 rather than Target >>>> or different in some way? >>> >>> The "_1" stuffis just for version naming purposes. The actual >>> class name has to be the same between Foo.java and Foo_1.java. >>> >>> In this particular bug's case, we only needed to redefine >>> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >>> to tickle the bug. That's why there are no differences >>> between RedefineSubclassWithTwoInterfacesImpl.java and >>> RedefineSubclassWithTwoInterfacesImpl_1.java. >>> >>> Good eyes though. >> >> >> Can you put a comment about why there are no differences but it's a >> different file? > > Yes. How about the following? > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > so both files are still identical, but now there is an explanation. > > Dan > From jonathan.gibbons at oracle.com Mon Feb 4 15:32:12 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 04 Feb 2013 23:32:12 +0000 Subject: hg: jdk8/tl/langtools: 8007490: NPE from DocumentationTool.run Message-ID: <20130204233217.0C59F47808@hg.openjdk.java.net> Changeset: 1690928dc560 Author: jjg Date: 2013-02-04 15:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1690928dc560 8007490: NPE from DocumentationTool.run Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java ! test/tools/javadoc/api/basic/RunTest.java From daniel.daugherty at oracle.com Mon Feb 4 16:14:04 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 17:14:04 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511041A7.4020605@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <510FCF32.5050006@oracle.com> <510FEDBB.8060008@oracle.com> <511014AA.8090007@oracle.com> <511026A4.9030909@oracle.com> <51102CA4.2000603@oracle.com> <51103180.1070403@oracle.com> <511041A7.4020605@oracle.com> Message-ID: <51104ECC.2060302@oracle.com> Thanks! Dan On 2/4/13 4:17 PM, Coleen Phillimore wrote: > > Comment looks good! Thanks! > Coleen > > On 2/4/2013 5:09 PM, Daniel D. Daugherty wrote: >> On 2/4/13 2:48 PM, Coleen Phillimore wrote: >>>> >>>>> Also the file, >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java.html >>>>> >>>>> >>>>> Is exactly the same as the file >>>>> RedefineSubclassWithTwoInterfacesImpl.java >>>>> >>>>> Isn't one supposed to be derived from Target_1 rather than Target >>>>> or different in some way? >>>> >>>> The "_1" stuffis just for version naming purposes. The actual >>>> class name has to be the same between Foo.java and Foo_1.java. >>>> >>>> In this particular bug's case, we only needed to redefine >>>> RedefineSubclassWithTwoInterfacesImpl with an EMCP version >>>> to tickle the bug. That's why there are no differences >>>> between RedefineSubclassWithTwoInterfacesImpl.java and >>>> RedefineSubclassWithTwoInterfacesImpl_1.java. >>>> >>>> Good eyes though. >>> >>> >>> Can you put a comment about why there are no differences but it's a >>> different file? >> >> Yes. How about the following? >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> so both files are still identical, but now there is an explanation. >> >> Dan >> From daniel.daugherty at oracle.com Mon Feb 4 16:19:54 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 04 Feb 2013 17:19:54 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5110416E.8070709@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5110416E.8070709@oracle.com> Message-ID: <5110502A.7000709@oracle.com> On 2/4/13 4:17 PM, Coleen Phillimore wrote: > Hi Dan, > > I think this version looks good. Thanks! > From your other reply: > > On 2/4/2013 11:40 AM, Daniel D. Daugherty wrote: >> is present in the HSX-23.6, HSX-24, and HSX-25 versions of >> is_interesting_method_entry(), but is not used by the original >> check_no_old_entries() or any of the new >> check_no_old_or_obsolete_entries(). >> I'll put that info in the new bug to track the future work. > > what is this new bug? It would be nice if the guts of > is_interesting_method_entry() that extracted the Method* from the > appropriate field was isolated into it's own function > ConstantPoolCacheEntry::get_method() and used by both. That would > save the complicated logic of the if statements in > check_no_old_or_obsolete entries. Karen made the following comment in her review: > For a future cleanup, do we need f2_as_vfinal_method and > is_interesting_method_entry to do that as well? And I made a somewhat lengthy reply of other stuff that I noticed, but I said I would put all that in another bug (to be fixed by someone else... Serguei? :-)). > > The other thing that might make it simpler is if is_valid() is defined > with PRODUCT_RETURN_(true); so you don't have to wrap PRODUCT around it. Thought about that, but I went with restore metadata.h back to an untouched form. I know when to stay away from live wires... :-) > > Anyway, I reviewed all three versions of the webrev and they look > correct. Thanks! Dan > Thanks, > Coleen > > > On 2/4/2013 4:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from >> ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> From joe.darcy at oracle.com Mon Feb 4 17:56:46 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 05 Feb 2013 01:56:46 +0000 Subject: hg: jdk8/tl/jdk: 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Message-ID: <20130205015708.AEDEE4780B@hg.openjdk.java.net> Changeset: e04467fa13af Author: darcy Date: 2013-02-04 17:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e04467fa13af 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Reviewed-by: chegar, jfranck ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java From jonathan.gibbons at oracle.com Mon Feb 4 18:14:29 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Tue, 05 Feb 2013 02:14:29 +0000 Subject: hg: jdk8/tl/langtools: 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Message-ID: <20130205021433.E758A4780E@hg.openjdk.java.net> Changeset: 62d91c13dce2 Author: jjg Date: 2013-02-04 18:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/62d91c13dce2 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java From coleen.phillimore at oracle.com Mon Feb 4 22:55:54 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Tue, 05 Feb 2013 06:55:54 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205065600.EF3DA4781B@hg.openjdk.java.net> Changeset: 24a91505f9d5 Author: emc Date: 2013-02-04 13:05 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/24a91505f9d5 8006949: Update hotspot for MethodParameters format change 8006907: Hotspot should reject classfiles with multiple MethodParameters attributes Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles Reviewed-by: coleenp, jrose ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp Changeset: 42ea5e1fad75 Author: coleenp Date: 2013-02-04 13:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/42ea5e1fad75 Merge From lana.steuck at oracle.com Mon Feb 4 23:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl: Added tag jdk8-b75 for changeset 2a713921952c Message-ID: <20130205072441.3DB904781C@hg.openjdk.java.net> Changeset: 5b19cef637a6 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/5b19cef637a6 Added tag jdk8-b75 for changeset 2a713921952c ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:41 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:41 +0000 Subject: hg: jdk8/tl/corba: Added tag jdk8-b75 for changeset d4e68ce17795 Message-ID: <20130205072443.5E08B4781D@hg.openjdk.java.net> Changeset: 4a6be02e66a3 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/4a6be02e66a3 Added tag jdk8-b75 for changeset d4e68ce17795 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:45 +0000 Subject: hg: jdk8/tl/hotspot: Added tag jdk8-b75 for changeset 6778d0b16593 Message-ID: <20130205072456.148B94781E@hg.openjdk.java.net> Changeset: 20b605466ccb Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/20b605466ccb Added tag jdk8-b75 for changeset 6778d0b16593 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:44 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:44 +0000 Subject: hg: jdk8/tl/jaxp: Added tag jdk8-b75 for changeset ff0b73a6b3f6 Message-ID: <20130205072456.2A5914781F@hg.openjdk.java.net> Changeset: 8d65b381880b Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8d65b381880b Added tag jdk8-b75 for changeset ff0b73a6b3f6 ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:46 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:46 +0000 Subject: hg: jdk8/tl/jaxws: Added tag jdk8-b75 for changeset 966bf9f3c41a Message-ID: <20130205072456.5C8D447820@hg.openjdk.java.net> Changeset: a63ef2391c20 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/a63ef2391c20 Added tag jdk8-b75 for changeset 966bf9f3c41a ! .hgtags From lana.steuck at oracle.com Mon Feb 4 23:24:51 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:51 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130205072503.59ED147821@hg.openjdk.java.net> Changeset: 716935fec613 Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/716935fec613 Added tag jdk8-b75 for changeset c2e11e2ec4a3 ! .hgtags Changeset: 10619513f51a Author: lana Date: 2013-02-04 22:38 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/10619513f51a Merge From lana.steuck at oracle.com Mon Feb 4 23:24:58 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Tue, 05 Feb 2013 07:24:58 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130205072534.CB9A147822@hg.openjdk.java.net> Changeset: 6ba6353ab42c Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/6ba6353ab42c Added tag jdk8-b75 for changeset 4a67fdb752b7 ! .hgtags Changeset: fd37f0846653 Author: lana Date: 2013-02-04 22:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd37f0846653 Merge From coleen.phillimore at oracle.com Tue Feb 5 00:55:59 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Tue, 05 Feb 2013 08:55:59 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205085605.D698647826@hg.openjdk.java.net> Changeset: ab826603e572 Author: simonis Date: 2013-02-04 13:14 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ab826603e572 8007475: Memory stomp with UseMallocOnly Summary: Fix off-by-one error Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/stackMapFrame.hpp + test/runtime/8007475/StackMapFrameTest.java Changeset: a401757763f9 Author: coleenp Date: 2013-02-04 22:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a401757763f9 Merge From yekaterina.kantserova at oracle.com Tue Feb 5 02:51:32 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Tue, 05 Feb 2013 11:51:32 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <510FB531.8040407@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> Message-ID: <5110E434.40600@oracle.com> On 02/04/2013 02:18 PM, Alan Bateman wrote: > On 04/02/2013 11:03, Yekaterina Kantserova wrote: >> >> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >> need to fork a java process - JDKToolFinder.getJDKTool("java") for >> some JRE tests? > It might be better to rename JDKToolFinder to something like JdkFinder > and have it define getJavaLauncher() and getTool(String tool) methods. I think it's good idea to separate java launcher and tools. Here is the new JdkFinder: http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. It now possible to retrieve java/tools both from the test.jdk and compile.jdk. > If you don't agree then you could at least change > ProcessTools.createJavaProcessBuilder so that it looks like "java" in > the JDK/JRE under test. > JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in the createJavaProcessBuilder (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). > -Alan. Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/42334f0b/attachment-0001.html From david.holmes at oracle.com Tue Feb 5 03:26:42 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Tue, 05 Feb 2013 11:26:42 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130205112649.B0F3D4782F@hg.openjdk.java.net> Changeset: 12285410684f Author: dholmes Date: 2013-02-04 23:53 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/12285410684f 8006508: Wrong frame constructor is called in os_linux_x86.cpp Reviewed-by: dholmes, coleenp Contributed-by: Jeremy Manson ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp Changeset: f3ea1af9207a Author: dholmes Date: 2013-02-05 00:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f3ea1af9207a Merge From jaroslav.bachorik at oracle.com Tue Feb 5 03:29:19 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:29:19 +0000 Subject: hg: jdk8/tl/jdk: 7170447: Intermittent DeadListenerTest.java failure Message-ID: <20130205112943.1E78647830@hg.openjdk.java.net> Changeset: 9ffcd758e2be Author: jbachorik Date: 2013-02-05 12:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/9ffcd758e2be 7170447: Intermittent DeadListenerTest.java failure Summary: Due to asynchronous nature of processing server notifications it may happen that an "unregister" notification ha$ Reviewed-by: sjiang ! test/javax/management/remote/mandatory/notif/DeadListenerTest.java From jaroslav.bachorik at oracle.com Tue Feb 5 03:38:04 2013 From: jaroslav.bachorik at oracle.com (jaroslav.bachorik at oracle.com) Date: Tue, 05 Feb 2013 11:38:04 +0000 Subject: hg: jdk8/tl/jdk: 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Message-ID: <20130205113826.4CEED47831@hg.openjdk.java.net> Changeset: 3119f0ebb58d Author: jbachorik Date: 2013-02-05 12:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3119f0ebb58d 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Reviewed-by: rbackman ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java From Alan.Bateman at oracle.com Tue Feb 5 03:54:44 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Tue, 05 Feb 2013 11:54:44 +0000 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <5110E434.40600@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> <5110E434.40600@oracle.com> Message-ID: <5110F304.4080602@oracle.com> On 05/02/2013 10:51, Yekaterina Kantserova wrote: > On 02/04/2013 02:18 PM, Alan Bateman wrote: >> On 04/02/2013 11:03, Yekaterina Kantserova wrote: >>> >>> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >>> need to fork a java process - JDKToolFinder.getJDKTool("java") for >>> some JRE tests? >> It might be better to rename JDKToolFinder to something like >> JdkFinder and have it define getJavaLauncher() and getTool(String >> tool) methods. > I think it's good idea to separate java launcher and tools. Here is > the new JdkFinder: > http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. > It now possible to retrieve java/tools both from the test.jdk and > compile.jdk. > >> If you don't agree then you could at least change >> ProcessTools.createJavaProcessBuilder so that it looks like "java" in >> the JDK/JRE under test. >> > JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in > the createJavaProcessBuilder > (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). >> -Alan. > It looks right to me now. -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/0f83bcb6/attachment.html From vincent.x.ryan at oracle.com Tue Feb 5 06:27:47 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Tue, 05 Feb 2013 14:27:47 +0000 Subject: hg: jdk8/tl/jdk: 8007483: attributes are ignored when loading keys from a PKCS12 keystore Message-ID: <20130205142810.420EC47838@hg.openjdk.java.net> Changeset: e526277b51be Author: vinnie Date: 2013-02-05 14:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e526277b51be 8007483: attributes are ignored when loading keys from a PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/sun/security/pkcs12/StorePasswordTest.java From jaroslav.bachorik at oracle.com Tue Feb 5 06:40:26 2013 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Tue, 05 Feb 2013 15:40:26 +0100 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <50EF3622.9050500@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> Message-ID: <511119DA.5060806@oracle.com> Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 Comments inline On 01/10/2013 10:44 PM, Stuart Marks wrote: > On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 > > Thanks for the update. > > Note, argv[0] is used before argv.length is checked, so if no args are > passed this gives index out of bounds instead of the usage message. It's gone. Shouldn't have been left there anyway. > > I see you take pains to write and flush the URL to stdout before writing > the signaling file. Good. The obvious alternative (which I started > writing but then erased) is just to put the URL into the signaling file. > But this has a race between creation of the file and the writing of its > contents. So, what you have works. (This kind of rendezvous problem > occurs a lot; it seems like there ought to be a simpler way.) > > I suspect the -e option caused hangs because if something failed, it > would leave the server running, spoiling the next test run. The usual > way to deal with this is to use the shell 'trap' statement, to kill > subprocesses and remove temp files before exiting the shell. Probably a > good practice in general, but perhaps too much shell hackery for this > change. (Up to you if you want to tackle it.) I would rather not ... > > Regarding how the test is detecting success/failure, the concern is that > if the client fails for some reason other than the failure being checked > for, the test will still report passing. Since the error message is > coming out of the client JVM, in principle it ought to be possible to > redirect it somehow in order to do the assertion checking in Java. With > the current shell scheme, not only are other failures reported as the > test passing, these other failures are erased in the grep pipeline, so > they're not even visible in the test log. I've changed the logic slightly to check for the java process exit status as well as for the presence of the trigger text in the process output. This should catch all the regular failures. Unfortunately, the way the notification handling is implemented now it is not really possible to check for the error from within the application - the error state is captured by the *NotificationForwarder class and only reported to the logger. -JB- > > This last issue is rather far afield from this webrev, and fixing it > will probably require some rearchitecting of the test. So maybe it > should be considered independently. I just happened to notice this going > on, and I noticed the similarity to what's going on in the RMI tests. > > s'marks > > > >> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>> I suspect it is not hanging because it does not exist, but that some >>>>> other windows process has it's hands on it. >>>>> This is the stdout file from the server being started up right? >>>>> Could the server from a previous test run be still running? >>>> >>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>> hanging problem. >>>> >>>> The update patch is at >>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>> >>> Hi Jaroslav, >>> >>> The change to remove the parentheses from around the server program >>> looks right. It avoids forking an extra process (at least in some >>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>> process. The rm -f from Kelly's suggestion is good too. >>> >>> But there are other things wrong with the script. I don't think they >>> could cause hanging, but they could cause the script to fail in >>> unforeseen ways, or even to report success incorrectly. >>> >>> One problem is introduced by the change, where the Server's stderr is >>> also redirected into $URL_PATH along with stdout. This means that if the >>> Server program reports any errors, they'll get mixed into the URL_PATH >>> file instead of appearing in the test log. The URL_PATH file's contents >>> is never reported, so these error messages will be invisible. >> >> Fixed, only the stdout is redirected to $URL_PATH. >> >>> >>> The exit status of some of the critical commands (such as the >>> compilations) isn't checked, so if javac fails for some reason, the test >>> might not report failure. Instead, some weird error might or might not >>> be reported later (though one will still see the javac errors in the >>> log). >> >> Fixed, introduced the check. The "set -e" was hanging the script so I >> have to check for the exit status manually. >> >>> >>> I don't think the sleep at line 80 is necessary, since the client runs >>> synchronously and should have exited by this point. >> >> And it's gone. >> >>> >>> The wait loop checking for the existence of the URL_PATH file doesn't >>> actually guarantee that the server is running or has initialized yet. >>> The file is actually created by the shell before the Server JVM starts >>> up. Thus, runClient might try to read from it before the server has >>> written anything to it. Or, as mentioned above, the server might have >>> written some error messages into the URL_PATH file instead of the >>> expected contents. Thus, the contents of the JMXURL variable can quite >>> possibly be incorrect. >> >> The err is not redirected to the file. A separate file is used to signal >> the availability of the server and that file is created from the java >> code after the server has been started. Also, the err and out streams >> are flushed to make sure the JMX URL makes it into the file. >> >>> >>> If this occurs, what will happen when the client runs? It may emit some >>> error message, and this will be filtered out by the grep pipeline. Thus, >>> HAS_ERRORS might end up empty, and the test will report passing, even >>> though everything has failed! >> >> Shouldn't happen with only the controlled stdout redirected to the file. >> >>> >>> For this changeset I'd recommend at a minimum removing the redirection >>> of stderr to URL_PATH. If the server fails we'll at least see errors in >>> the test log. >>> >>> For checking the notification message, is there a way to modify the >>> client to report an exit status or throw an exception? Throwing an >>> exception from main() will exit the JVM with a nonzero status, so this >>> can be checked more easily from the script. I think this is less >>> error-prone than grepping the output for a specific error message. The >>> test should fail if there is *any* error; it should not succeed if an >>> expected error is absent. >> >> This is unfortunately not possible. The notification processing needs to >> be robust enough to prevent exiting JVM in cases like this. Therefore it >> only reports the problem, dumps the notification and carries on. The >> only place one can find something went wrong is the err stream. >> >>> >>> You might consider having jtreg build the client and server classes. >>> This might simplify some of the setup. Also, jtreg is meticulous about >>> aborting the test if any compilations fail, so it takes care of that for >>> you. >> >> I need same name classes with incompatible code compiled to two >> different locations - client and server. I was not able to figure out >> how to use jtreg to accomplish that. >> >> -JB- >> >>> >>> It would be nice if there were a better way to have the client >>> rendezvous with the server. I hate to suggest it, but sleeping >>> unconditionally after starting the server is probably necessary. >>> Anything more robust probably requires rearchitecting the test, though. >>> >>> Sorry to dump all this on you. But one of the shell-based RMI tests >>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>> Unfortunately, I believe that there are a lot of other shell-based tests >>> in the test suite that have similar problems. The lesson here is that >>> writing reliable shell tests is a lot harder than it seems. >>> >>> Thanks, >>> >>> s'marks >> From alan.bateman at oracle.com Tue Feb 5 06:59:29 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Tue, 05 Feb 2013 14:59:29 +0000 Subject: hg: jdk8/tl/jaxp: 8007389: Remove uses of _ as identifier in jaxp Message-ID: <20130205145933.C9A134783A@hg.openjdk.java.net> Changeset: f0ad3747b40e Author: emc Date: 2013-02-05 14:56 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/f0ad3747b40e 8007389: Remove uses of _ as identifier in jaxp Reviewed-by: lancea, joehw ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java From serguei.spitsyn at oracle.com Tue Feb 5 09:50:11 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 05 Feb 2013 09:50:11 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C55DF.3000002@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> Message-ID: <51114653.1030209@oracle.com> Both tests look good, I do not see any issues yet. What is missed is a comment explaining what happened when the bug is not fixed and what correct behavior is expected. Maybe it'd make sense to put bad and good output into the comment, not everything, but the most important fragments. It would help a lot to understand what test is doing. Thanks, Serguei On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: > And here is the webrev for the new tests (relative to JDK8-T&L): > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >> > There are two new tests that will be pushed to the JDK repos using >> > a different bug ID (not yet filed): >> >> New bug is now filed: >> >> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >> to java/lang/instrument >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >> https://jbs.oracle.com/bugs/browse/JDK-8007420 >> >> Of course, the tests cannot be pushed until the HSX changes have made >> it into a promoted build and thus available to JDK8-T&L. >> >> Dan >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Tue Feb 5 10:03:51 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 11:03:51 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51114653.1030209@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <51114653.1030209@oracle.com> Message-ID: <51114987.5010309@oracle.com> On 2/5/13 10:50 AM, serguei.spitsyn at oracle.com wrote: > Both tests look good, I do not see any issues yet. > What is missed is a comment explaining what happened > when the bug is not fixed and what correct behavior is expected. > Maybe it'd make sense to put bad and good output into the comment, > not everything, but the most important fragments. > It would help a lot to understand what test is doing. Serguei, Thanks for the review! I put sample failures for both tests into the bug (8007420) a couple of days ago. I'd prefer not to clutter up the test with sample outputs if that's OK with you. Dan > > > Thanks, > Serguei > > > On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From serguei.spitsyn at oracle.com Tue Feb 5 10:53:29 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 05 Feb 2013 10:53:29 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51114987.5010309@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <51114653.1030209@oracle.com> <51114987.5010309@oracle.com> Message-ID: <51115529.6000008@oracle.com> On 2/5/13 10:03 AM, Daniel D. Daugherty wrote: > On 2/5/13 10:50 AM, serguei.spitsyn at oracle.com wrote: >> Both tests look good, I do not see any issues yet. >> What is missed is a comment explaining what happened >> when the bug is not fixed and what correct behavior is expected. >> Maybe it'd make sense to put bad and good output into the comment, >> not everything, but the most important fragments. >> It would help a lot to understand what test is doing. > Serguei, > > Thanks for the review! > > I put sample failures for both tests into the bug (8007420) a couple > of days ago. I'd prefer not to clutter up the test with sample outputs > if that's OK with you. Thanks! I'm still suggesting to put a comment explaining what happens in the buggy case. Something like: "All multiple itable elements of the method *echo(String s)* must be adjusted at a redefinition. Otherwise, in incorrect implementation case (bug #) some of them may become old and obsolete. It should cause the test to fail: crashed, caught by a guaranty, incorrect results, etc." I'm sure you can find much better wording for the above. BTW, I noticed that the test does not check a correctness of the output so that if it does not assert or crash then it will probably pass. Would it make sense to check if the output does not have the sub-string "version-0" after the redefinition of the class *RedefineSubclassWithTwoInterfacesTarget*? Thanks, Serguei > > Dan > > >> >> >> Thanks, >> Serguei >> >> >> On 2/1/13 3:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/4a192c83/attachment-0001.html From james.holmlund at oracle.com Tue Feb 5 10:56:11 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Tue, 05 Feb 2013 18:56:11 +0000 Subject: hg: jdk8/tl/langtools: 8007504: Remove @ignore from tests that no longer need it Message-ID: <20130205185616.C6A2647848@hg.openjdk.java.net> Changeset: 2480aec9a3f1 Author: jjh Date: 2013-02-05 18:55 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2480aec9a3f1 8007504: Remove @ignore from tests that no longer need it Reviewed-by: mcimadamore ! test/tools/javac/api/T6306137.java ! test/tools/javac/defaultMethods/TestNoBridgeOnDefaults.java ! test/tools/javac/lambda/LambdaCapture06.java ! test/tools/javac/lambda/LambdaExpr15.java From karen.kinnear at oracle.com Tue Feb 5 11:56:59 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Tue, 5 Feb 2013 14:56:59 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> New versions look great. Thank you. For jdk8 only - is redefineclasses in the MINIMALVM? I missed your reply. If so, I was assuming that the additional tracing would also be conditional in the builds. I believe in addition to ifdef's there is a list of files not included in MINIMALVM, but I didn't take the time to look this all up. thanks, Karen On Feb 4, 2013, at 4:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > From mandy.chung at oracle.com Tue Feb 5 12:14:31 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 05 Feb 2013 12:14:31 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51069864.30007@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> Message-ID: <51116827.80100@oracle.com> Hi Erik, On 2/4/13 8:01 AM, Erik Helin wrote: > There have been some updates to the hotspot code based on feedback from > the hotspot-gc-dev mailing list. The only change to the JDK code is that > the namespace is back to "sun.gc" :) > > New webrevs: > - jdk:http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ > - hotspot:http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ > Looks good. Minor nits: gcCapacityOutput1.awk - should the last column in L7 be removed? jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year should be 2013. > Note that the fixed tests will continue to fail until the HotSpot > part of the change finds it way into the tl forest. How are you going to integrate the hotspot and jdk fixes in a synchronized fashion? We shall make sure the TL sun/tools/jstat tests pass at all times. Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/102c3158/attachment.html From mandy.chung at oracle.com Tue Feb 5 12:30:58 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 05 Feb 2013 12:30:58 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51116827.80100@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> Message-ID: <51116C02.7080607@oracle.com> Also, the jstat man page needs to be updated per this change (I mentioned this in the previous review [1]) http://download.java.net/jdk8/docs/technotes/tools/share/jstat.html You can contact the docs team for this. Mandy [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-January/007957.html On 2/5/13 12:14 PM, Mandy Chung wrote: > Hi Erik, > > On 2/4/13 8:01 AM, Erik Helin wrote: >> There have been some updates to the hotspot code based on feedback from >> the hotspot-gc-dev mailing list. The only change to the JDK code is that >> the namespace is back to "sun.gc" :) >> >> New webrevs: >> - jdk:http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ >> - hotspot:http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ >> > Looks good. Minor nits: > > gcCapacityOutput1.awk - should the last column in L7 be removed? > jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year should be 2013. > > >> Note that the fixed tests will continue to fail until the HotSpot >> part of the change finds it way into the tl forest. > > How are you going to integrate the hotspot and jdk fixes in a > synchronized fashion? We shall make sure the TL sun/tools/jstat > tests pass at all times. > > Mandy -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130205/80ffa082/attachment.html From daniel.daugherty at oracle.com Tue Feb 5 13:17:58 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 14:17:58 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <324DEB1F-DBD1-4020-89D8-2BCD7121A191@oracle.com> Message-ID: <51117706.8020500@oracle.com> On 2/5/13 12:56 PM, Karen Kinnear wrote: > New versions look great. Thank you. Thanks! > For jdk8 only - is redefineclasses in the MINIMALVM? I missed your reply. > If so, I was assuming that the additional tracing would also be conditional > in the builds. I believe in addition to ifdef's there is a list of files not included > in MINIMALVM, but I didn't take the time to look this all up. To quote David H: > Correct - no JVM/TI and so no redefineClasses in the minimal VM. Dan > > thanks, > Karen > > > On Feb 4, 2013, at 4:08 PM, Daniel D. Daugherty wrote: > >> Greetings, >> >> I've updated the fix due to comments in Code Review Round 0. >> >> Here is a summary of changes made to the various files: >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> src/share/vm/oops/klassVtable.cpp >> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >> these files are outside of JVM/TI RedefineClasses proper so the >> tracing/debug style should not be dictated by JVM/TI RedefineClasses >> style that is currently in use >> - did not touch the existing RC_TRACE... macros in the file; removing >> the existing macro calls would be outside the scope of this bug >> >> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >> src/share/vm/oops/cpCache.cpp (HSX-25) >> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >> >> src/share/vm/oops/klassVtable.cpp >> - Copied the new comment intended to prevent the "break" from >> re-materializing again from klassItable::adjust_method_entries() >> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >> >> In the HSX-25 version only: >> src/share/vm/oops/metadata.hpp >> - revert changes >> >> src/share/vm/oops/cpCacheOop.cpp >> src/share/vm/oops/klassVtable.cpp >> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >> >> Here are the URLs for the updated webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >> >> The JPDA stack testing that I started on Friday is still running on >> WinXP so I'm blocked for checking the recompile due to these changes. >> I'll start a recompile on Solaris X86, but that will take some time. >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> From stuart.marks at oracle.com Tue Feb 5 14:47:08 2013 From: stuart.marks at oracle.com (Stuart Marks) Date: Tue, 05 Feb 2013 14:47:08 -0800 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <511119DA.5060806@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> Message-ID: <51118BEC.7000204@oracle.com> Hi, thanks for the updates. Capturing the Client output in a file seems preferable to putting a shell pipeline in backquotes. But, the old code piped both stdout and stderr into grep using 2>&1, whereas the new code redirects only stdout, which is then searched by grep. Was that intentional? I'm not sure whether the error message in question occurs in stdout or stderr. Otherwise, it looks like you've taken care of the common failure modes. It just goes to show how deceptively simple shell programming can be, when in fact catching all the potential errors can be quite tedious. The following discussion is mainly for your information, to consider the next time you decide to write a shell test. :-) I'm not suggesting any action for this changeset. You had mentioned earlier (see thread below) that you needed to compile incompatible versions of the same class. It's indeed difficult to coerce jtreg to do that, so this is the rationale for writing a shell test. It's possible and somewhat hacky to use jtreg for this, though; see http://hg.openjdk.java.net/lambda/lambda/jdk/file/tip/test/java/io/Serializable/defaultSVID/ Basically it uses the @compile tag to compile the first version of the file, then @run with an arg that tells the test to move the generated classfile somewhere, another @compile tag to compile the second version of the file, and finally an @run tag to run the test for real. I don't suggest that you copy this technique. :-) Jon Gibbons suggested invoking the compiler API directly from java instead of writing a shell script. Doing this seems fairly simple, and I think it would be advantageous to keep things entirely in Java. I may attempt to rewrite the defaultSVID test using the compiler API. s'marks On 2/5/13 6:40 AM, Jaroslav Bachorik wrote: > Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 > > Comments inline > > On 01/10/2013 10:44 PM, Stuart Marks wrote: >> On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >>> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 >> >> Thanks for the update. >> >> Note, argv[0] is used before argv.length is checked, so if no args are >> passed this gives index out of bounds instead of the usage message. > > It's gone. Shouldn't have been left there anyway. > >> >> I see you take pains to write and flush the URL to stdout before writing >> the signaling file. Good. The obvious alternative (which I started >> writing but then erased) is just to put the URL into the signaling file. >> But this has a race between creation of the file and the writing of its >> contents. So, what you have works. (This kind of rendezvous problem >> occurs a lot; it seems like there ought to be a simpler way.) >> >> I suspect the -e option caused hangs because if something failed, it >> would leave the server running, spoiling the next test run. The usual >> way to deal with this is to use the shell 'trap' statement, to kill >> subprocesses and remove temp files before exiting the shell. Probably a >> good practice in general, but perhaps too much shell hackery for this >> change. (Up to you if you want to tackle it.) > > I would rather not ... > >> >> Regarding how the test is detecting success/failure, the concern is that >> if the client fails for some reason other than the failure being checked >> for, the test will still report passing. Since the error message is >> coming out of the client JVM, in principle it ought to be possible to >> redirect it somehow in order to do the assertion checking in Java. With >> the current shell scheme, not only are other failures reported as the >> test passing, these other failures are erased in the grep pipeline, so >> they're not even visible in the test log. > > I've changed the logic slightly to check for the java process exit > status as well as for the presence of the trigger text in the process > output. This should catch all the regular failures. > > Unfortunately, the way the notification handling is implemented now it > is not really possible to check for the error from within the > application - the error state is captured by the *NotificationForwarder > class and only reported to the logger. > > -JB- > >> >> This last issue is rather far afield from this webrev, and fixing it >> will probably require some rearchitecting of the test. So maybe it >> should be considered independently. I just happened to notice this going >> on, and I noticed the similarity to what's going on in the RMI tests. >> >> s'marks >> >> >> >>> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>>> I suspect it is not hanging because it does not exist, but that some >>>>>> other windows process has it's hands on it. >>>>>> This is the stdout file from the server being started up right? >>>>>> Could the server from a previous test run be still running? >>>>> >>>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>>> hanging problem. >>>>> >>>>> The update patch is at >>>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>>> >>>> Hi Jaroslav, >>>> >>>> The change to remove the parentheses from around the server program >>>> looks right. It avoids forking an extra process (at least in some >>>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>>> process. The rm -f from Kelly's suggestion is good too. >>>> >>>> But there are other things wrong with the script. I don't think they >>>> could cause hanging, but they could cause the script to fail in >>>> unforeseen ways, or even to report success incorrectly. >>>> >>>> One problem is introduced by the change, where the Server's stderr is >>>> also redirected into $URL_PATH along with stdout. This means that if the >>>> Server program reports any errors, they'll get mixed into the URL_PATH >>>> file instead of appearing in the test log. The URL_PATH file's contents >>>> is never reported, so these error messages will be invisible. >>> >>> Fixed, only the stdout is redirected to $URL_PATH. >>> >>>> >>>> The exit status of some of the critical commands (such as the >>>> compilations) isn't checked, so if javac fails for some reason, the test >>>> might not report failure. Instead, some weird error might or might not >>>> be reported later (though one will still see the javac errors in the >>>> log). >>> >>> Fixed, introduced the check. The "set -e" was hanging the script so I >>> have to check for the exit status manually. >>> >>>> >>>> I don't think the sleep at line 80 is necessary, since the client runs >>>> synchronously and should have exited by this point. >>> >>> And it's gone. >>> >>>> >>>> The wait loop checking for the existence of the URL_PATH file doesn't >>>> actually guarantee that the server is running or has initialized yet. >>>> The file is actually created by the shell before the Server JVM starts >>>> up. Thus, runClient might try to read from it before the server has >>>> written anything to it. Or, as mentioned above, the server might have >>>> written some error messages into the URL_PATH file instead of the >>>> expected contents. Thus, the contents of the JMXURL variable can quite >>>> possibly be incorrect. >>> >>> The err is not redirected to the file. A separate file is used to signal >>> the availability of the server and that file is created from the java >>> code after the server has been started. Also, the err and out streams >>> are flushed to make sure the JMX URL makes it into the file. >>> >>>> >>>> If this occurs, what will happen when the client runs? It may emit some >>>> error message, and this will be filtered out by the grep pipeline. Thus, >>>> HAS_ERRORS might end up empty, and the test will report passing, even >>>> though everything has failed! >>> >>> Shouldn't happen with only the controlled stdout redirected to the file. >>> >>>> >>>> For this changeset I'd recommend at a minimum removing the redirection >>>> of stderr to URL_PATH. If the server fails we'll at least see errors in >>>> the test log. >>>> >>>> For checking the notification message, is there a way to modify the >>>> client to report an exit status or throw an exception? Throwing an >>>> exception from main() will exit the JVM with a nonzero status, so this >>>> can be checked more easily from the script. I think this is less >>>> error-prone than grepping the output for a specific error message. The >>>> test should fail if there is *any* error; it should not succeed if an >>>> expected error is absent. >>> >>> This is unfortunately not possible. The notification processing needs to >>> be robust enough to prevent exiting JVM in cases like this. Therefore it >>> only reports the problem, dumps the notification and carries on. The >>> only place one can find something went wrong is the err stream. >>> >>>> >>>> You might consider having jtreg build the client and server classes. >>>> This might simplify some of the setup. Also, jtreg is meticulous about >>>> aborting the test if any compilations fail, so it takes care of that for >>>> you. >>> >>> I need same name classes with incompatible code compiled to two >>> different locations - client and server. I was not able to figure out >>> how to use jtreg to accomplish that. >>> >>> -JB- >>> >>>> >>>> It would be nice if there were a better way to have the client >>>> rendezvous with the server. I hate to suggest it, but sleeping >>>> unconditionally after starting the server is probably necessary. >>>> Anything more robust probably requires rearchitecting the test, though. >>>> >>>> Sorry to dump all this on you. But one of the shell-based RMI tests >>>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>>> Unfortunately, I believe that there are a lot of other shell-based tests >>>> in the test suite that have similar problems. The lesson here is that >>>> writing reliable shell tests is a lot harder than it seems. >>>> >>>> Thanks, >>>> >>>> s'marks >>> > From jonathan.gibbons at oracle.com Tue Feb 5 21:56:24 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 05:56:24 +0000 Subject: hg: jdk8/tl/langtools: 8007485: test creates .class files in the test/ directory Message-ID: <20130206055629.E9CCE47879@hg.openjdk.java.net> Changeset: de932285124c Author: jjg Date: 2013-02-05 21:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/de932285124c 8007485: test creates .class files in the test/ directory Reviewed-by: mcimadamore ! test/tools/javac/api/8007344/Test.java From daniel.daugherty at oracle.com Tue Feb 5 21:59:17 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Tue, 05 Feb 2013 22:59:17 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51102336.9000808@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> Message-ID: <5111F135.4070401@oracle.com> Greetings, The JPDA stack testing finished with no new regressions on HSX-23.6, HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. I've updated the HSX-25 version of the fix due to Karen's comments about the MinimalVM configuration in Code Review Round 1. In this latest round for HSX-25, I've made use of the INCLUDE_JVMTI define to limit the exposure of new tracing code to configurations that include JVM/TI support. The MinimalVM does not support JVM/TI so none of the new code needs to be included there. While I was at it, I also excluded some other JVM/TI RedefineClasses() support code from the MinimalVM config that I hadn't previously touched. In short, none of the functionality has been changed in this round. Just the way it is built or not built has been changed. Here is the URL for the latest HSX-25 webrev: http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ Thanks, in advance, for more comments, suggestions or questions. Dan On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've updated the fix due to comments in Code Review Round 0. > > Here is a summary of changes made to the various files: > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > src/share/vm/oops/klassVtable.cpp > - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; > these files are outside of JVM/TI RedefineClasses proper so the > tracing/debug style should not be dictated by JVM/TI RedefineClasses > style that is currently in use > - did not touch the existing RC_TRACE... macros in the file; removing > the existing macro calls would be outside the scope of this bug > > src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) > src/share/vm/oops/cpCache.cpp (HSX-25) > - copy a comment from > ConstantPoolCacheEntry::is_interesting_method_entry() > to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() > > src/share/vm/oops/klassVtable.cpp > - Copied the new comment intended to prevent the "break" from > re-materializing again from klassItable::adjust_method_entries() > to klassVtable::adjust_method_entries(); yes, I'm paranoid. > > In the HSX-25 version only: > src/share/vm/oops/metadata.hpp > - revert changes > > src/share/vm/oops/cpCacheOop.cpp > src/share/vm/oops/klassVtable.cpp > - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate > > Here are the URLs for the updated webrevs: > > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ > http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ > > The JPDA stack testing that I started on Friday is still running on > WinXP so I'm blocked for checking the recompile due to these changes. > I'll start a recompile on Solaris X86, but that will take some time. > > Thanks, in advance, for more comments, suggestions or questions. > > Dan > > > > On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I have a fix for the following JVM/TI bug: >> >> 7182152 Instrumentation hot swap test incorrect monitor count >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >> https://jbs.oracle.com/bugs/browse/JDK-7182152 >> >> The fix for the bug in the product code is one line: >> >> src/share/vm/oops/klassVtable.cpp: >> >> @@ -992,18 +1020,50 @@ >> // RC_TRACE macro has an embedded ResourceMark >> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >> new_method->name()->as_C_string(), >> new_method->signature()->as_C_string())); >> } >> - break; >> + // cannot 'break' here; see for-loop comment above. >> } >> ime++; >> } >> } >> } >> >> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >> already fixed the bug as part of the Perm Gen Removal (PGR) project >> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >> changeset. Many thanks to Coleen for her help in this bug hunt! >> >> The rest of the code in the webrevs are: >> >> - additional JVM/TI tracing code backported from Coleen's PGR changeset >> - additional JVM/TI tracing code added by me and forward ported to >> HSX-25 >> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >> elusive old or obsolete methods >> - exposure of some printing code to the PRODUCT build so that the new >> tracing is available in a PRODUCT build >> >> You might be wondering why the new tracing code is exposed in a PRODUCT >> build. Well, it appears that more and more PRODUCT bits deployments are >> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >> to instrument their systems. This bug (7182152) was only intermittently >> reproducible in the WLS environment in which it occurred so I made the >> tracing available in a PRODUCT build to assist in the hunt. >> >> Raj from the WLS team has also verified that the HSX-23.6 version of >> fix resolves the issue in his environment. Thanks Raj! >> >> Here are the URLs for the three webrevs: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >> >> I have run the following test suites from the JPDA stack on the >> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >> specified: >> >> sdk-jdi >> sdk-jdi_closed >> sdk-jli >> vm-heapdump >> vm-hprof >> vm-jdb >> vm-jdi >> vm-jdwp >> vm-jvmti >> vm-sajdi >> >> The tested configs are: >> >> {Solaris-X86, WinXP} >> X {Client VM, Server VM} >> X {-Xmixed, -Xcomp} >> X {product, fastdebug} >> >> With the 1-liner fix in place, the new tracing code does not find any >> instances of this failure mode in any of the above test suites. Without >> the the 1-liner fix in place, the new tracing code finds one instance >> of this failure mode in the above test suites: >> >> test/java/lang/instrument/IsModifiableClassAgent.java >> >> There are two new tests that will be pushed to the JDK repos using >> a different bug ID (not yet filed): >> >> test/com/sun/jdi/RedefineAbstractClass.sh >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >> >> There will be a separate review request for the new tests. >> >> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >> take all weekend to complete. >> >> Thanks, in advance, for any comments and/or suggestions. >> >> Dan >> >> >> > > > From jaroslav.bachorik at oracle.com Wed Feb 6 00:01:40 2013 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorik) Date: Wed, 06 Feb 2013 09:01:40 +0100 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <51118BEC.7000204@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> Message-ID: <51120DE4.7010300@oracle.com> On 02/05/2013 11:47 PM, Stuart Marks wrote: > Hi, thanks for the updates. > > Capturing the Client output in a file seems preferable to putting a > shell pipeline in backquotes. But, the old code piped both stdout and > stderr into grep using 2>&1, whereas the new code redirects only stdout, > which is then searched by grep. Was that intentional? I'm not sure > whether the error message in question occurs in stdout or stderr. Argh. I missed the redirect :/ Thanks! I will update the webrev shortly. > > Otherwise, it looks like you've taken care of the common failure modes. > It just goes to show how deceptively simple shell programming can be, > when in fact catching all the potential errors can be quite tedious. > > The following discussion is mainly for your information, to consider the > next time you decide to write a shell test. :-) I'm not suggesting any > action for this changeset. > > You had mentioned earlier (see thread below) that you needed to compile > incompatible versions of the same class. It's indeed difficult to coerce > jtreg to do that, so this is the rationale for writing a shell test. > > It's possible and somewhat hacky to use jtreg for this, though; see > > http://hg.openjdk.java.net/lambda/lambda/jdk/file/tip/test/java/io/Serializable/defaultSVID/ > > > Basically it uses the @compile tag to compile the first version of the > file, then @run with an arg that tells the test to move the generated > classfile somewhere, another @compile tag to compile the second version > of the file, and finally an @run tag to run the test for real. > > I don't suggest that you copy this technique. :-) > > Jon Gibbons suggested invoking the compiler API directly from java > instead of writing a shell script. Doing this seems fairly simple, and I > think it would be advantageous to keep things entirely in Java. I may > attempt to rewrite the defaultSVID test using the compiler API. This seems rather feasible. I had just assumed that writing the shell script would have been easier. But apparently wasn't ... Anyway, thanks for going through this extensive review. -JB- > > s'marks > > > On 2/5/13 6:40 AM, Jaroslav Bachorik wrote: >> Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05 >> >> Comments inline >> >> On 01/10/2013 10:44 PM, Stuart Marks wrote: >>> On 1/10/13 7:20 AM, Jaroslav Bachorik wrote: >>>> Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04 >>> >>> Thanks for the update. >>> >>> Note, argv[0] is used before argv.length is checked, so if no args are >>> passed this gives index out of bounds instead of the usage message. >> >> It's gone. Shouldn't have been left there anyway. >> >>> >>> I see you take pains to write and flush the URL to stdout before writing >>> the signaling file. Good. The obvious alternative (which I started >>> writing but then erased) is just to put the URL into the signaling file. >>> But this has a race between creation of the file and the writing of its >>> contents. So, what you have works. (This kind of rendezvous problem >>> occurs a lot; it seems like there ought to be a simpler way.) >>> >>> I suspect the -e option caused hangs because if something failed, it >>> would leave the server running, spoiling the next test run. The usual >>> way to deal with this is to use the shell 'trap' statement, to kill >>> subprocesses and remove temp files before exiting the shell. Probably a >>> good practice in general, but perhaps too much shell hackery for this >>> change. (Up to you if you want to tackle it.) >> >> I would rather not ... >> >>> >>> Regarding how the test is detecting success/failure, the concern is that >>> if the client fails for some reason other than the failure being checked >>> for, the test will still report passing. Since the error message is >>> coming out of the client JVM, in principle it ought to be possible to >>> redirect it somehow in order to do the assertion checking in Java. With >>> the current shell scheme, not only are other failures reported as the >>> test passing, these other failures are erased in the grep pipeline, so >>> they're not even visible in the test log. >> >> I've changed the logic slightly to check for the java process exit >> status as well as for the presence of the trigger text in the process >> output. This should catch all the regular failures. >> >> Unfortunately, the way the notification handling is implemented now it >> is not really possible to check for the error from within the >> application - the error state is captured by the *NotificationForwarder >> class and only reported to the logger. >> >> -JB- >> >>> >>> This last issue is rather far afield from this webrev, and fixing it >>> will probably require some rearchitecting of the test. So maybe it >>> should be considered independently. I just happened to notice this going >>> on, and I noticed the similarity to what's going on in the RMI tests. >>> >>> s'marks >>> >>> >>> >>>> On 01/10/2013 09:52 AM, Stuart Marks wrote: >>>>> On 1/7/13 3:23 AM, Jaroslav Bachorik wrote: >>>>>> On 01/04/2013 11:37 PM, Kelly O'Hair wrote: >>>>>>> I suspect it is not hanging because it does not exist, but that some >>>>>>> other windows process has it's hands on it. >>>>>>> This is the stdout file from the server being started up right? >>>>>>> Could the server from a previous test run be still running? >>>>>> >>>>>> Exactly. Amy confirmed this and provided a patch which resolves the >>>>>> hanging problem. >>>>>> >>>>>> The update patch is at >>>>>> http://cr.openjdk.java.net/~jbachorik/8005472/webrev.01 >>>>> >>>>> Hi Jaroslav, >>>>> >>>>> The change to remove the parentheses from around the server program >>>>> looks right. It avoids forking an extra process (at least in some >>>>> shells) and lets $! refer to the actual JVM, not an intermediate shell >>>>> process. The rm -f from Kelly's suggestion is good too. >>>>> >>>>> But there are other things wrong with the script. I don't think they >>>>> could cause hanging, but they could cause the script to fail in >>>>> unforeseen ways, or even to report success incorrectly. >>>>> >>>>> One problem is introduced by the change, where the Server's stderr is >>>>> also redirected into $URL_PATH along with stdout. This means that >>>>> if the >>>>> Server program reports any errors, they'll get mixed into the URL_PATH >>>>> file instead of appearing in the test log. The URL_PATH file's >>>>> contents >>>>> is never reported, so these error messages will be invisible. >>>> >>>> Fixed, only the stdout is redirected to $URL_PATH. >>>> >>>>> >>>>> The exit status of some of the critical commands (such as the >>>>> compilations) isn't checked, so if javac fails for some reason, the >>>>> test >>>>> might not report failure. Instead, some weird error might or might not >>>>> be reported later (though one will still see the javac errors in the >>>>> log). >>>> >>>> Fixed, introduced the check. The "set -e" was hanging the script so I >>>> have to check for the exit status manually. >>>> >>>>> >>>>> I don't think the sleep at line 80 is necessary, since the client runs >>>>> synchronously and should have exited by this point. >>>> >>>> And it's gone. >>>> >>>>> >>>>> The wait loop checking for the existence of the URL_PATH file doesn't >>>>> actually guarantee that the server is running or has initialized yet. >>>>> The file is actually created by the shell before the Server JVM starts >>>>> up. Thus, runClient might try to read from it before the server has >>>>> written anything to it. Or, as mentioned above, the server might have >>>>> written some error messages into the URL_PATH file instead of the >>>>> expected contents. Thus, the contents of the JMXURL variable can quite >>>>> possibly be incorrect. >>>> >>>> The err is not redirected to the file. A separate file is used to >>>> signal >>>> the availability of the server and that file is created from the java >>>> code after the server has been started. Also, the err and out streams >>>> are flushed to make sure the JMX URL makes it into the file. >>>> >>>>> >>>>> If this occurs, what will happen when the client runs? It may emit >>>>> some >>>>> error message, and this will be filtered out by the grep pipeline. >>>>> Thus, >>>>> HAS_ERRORS might end up empty, and the test will report passing, even >>>>> though everything has failed! >>>> >>>> Shouldn't happen with only the controlled stdout redirected to the >>>> file. >>>> >>>>> >>>>> For this changeset I'd recommend at a minimum removing the redirection >>>>> of stderr to URL_PATH. If the server fails we'll at least see >>>>> errors in >>>>> the test log. >>>>> >>>>> For checking the notification message, is there a way to modify the >>>>> client to report an exit status or throw an exception? Throwing an >>>>> exception from main() will exit the JVM with a nonzero status, so this >>>>> can be checked more easily from the script. I think this is less >>>>> error-prone than grepping the output for a specific error message. The >>>>> test should fail if there is *any* error; it should not succeed if an >>>>> expected error is absent. >>>> >>>> This is unfortunately not possible. The notification processing >>>> needs to >>>> be robust enough to prevent exiting JVM in cases like this. >>>> Therefore it >>>> only reports the problem, dumps the notification and carries on. The >>>> only place one can find something went wrong is the err stream. >>>> >>>>> >>>>> You might consider having jtreg build the client and server classes. >>>>> This might simplify some of the setup. Also, jtreg is meticulous about >>>>> aborting the test if any compilations fail, so it takes care of >>>>> that for >>>>> you. >>>> >>>> I need same name classes with incompatible code compiled to two >>>> different locations - client and server. I was not able to figure out >>>> how to use jtreg to accomplish that. >>>> >>>> -JB- >>>> >>>>> >>>>> It would be nice if there were a better way to have the client >>>>> rendezvous with the server. I hate to suggest it, but sleeping >>>>> unconditionally after starting the server is probably necessary. >>>>> Anything more robust probably requires rearchitecting the test, >>>>> though. >>>>> >>>>> Sorry to dump all this on you. But one of the shell-based RMI tests >>>>> suffers from *exactly* the same pathologies. (I have yet to fix it.) >>>>> Unfortunately, I believe that there are a lot of other shell-based >>>>> tests >>>>> in the test suite that have similar problems. The lesson here is that >>>>> writing reliable shell tests is a lot harder than it seems. >>>>> >>>>> Thanks, >>>>> >>>>> s'marks >>>> >> From Alan.Bateman at oracle.com Wed Feb 6 02:47:37 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 06 Feb 2013 10:47:37 +0000 Subject: 8007277: JDK-8002048 testcase fails to compile Message-ID: <511234C9.2080108@oracle.com> Dmitry - I realize you might be looking at this already but test/sun/management/jdp/JdpTest.sh is failing on all platforms since it was pushed. We can either put it on the exclude list (ProblemList.txt) or fix it. Since it is trivial to fix then I'd like to do that - attached is the proposed patch. -Alan. diff --git a/test/sun/management/jdp/JdpTest.sh b/test/sun/management/jdp/JdpTest.sh --- a/test/sun/management/jdp/JdpTest.sh +++ b/test/sun/management/jdp/JdpTest.sh @@ -23,7 +23,7 @@ # @test # @bug 7169888 -# @build JdpUnitTest JdpClient JdpDoSomething +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java JdpDoSomething.java # @run shell JdpTest.sh --jtreg --no-compile # @summary No word Failed expected in the test output @@ -55,7 +55,7 @@ rm -f ${_testclasses}/*.class # Compile testcase - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} JdpUnitTest.java \ JdpDoSomething.java \ JdpClient.java From chris.hegarty at oracle.com Wed Feb 6 03:37:15 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Wed, 06 Feb 2013 11:37:15 +0000 Subject: hg: jdk8/tl: 8007625: race with nested repos in /common/bin/hgforest.sh Message-ID: <20130206113715.E536A47880@hg.openjdk.java.net> Changeset: 8dd61906da5f Author: chegar Date: 2013-02-06 11:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/rev/8dd61906da5f 8007625: race with nested repos in /common/bin/hgforest.sh Reviewed-by: dholmes, ohair, ohrstrom ! common/bin/hgforest.sh ! get_source.sh From dmitry.samersoff at oracle.com Wed Feb 6 04:02:52 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 16:02:52 +0400 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <5112466C.2080304@oracle.com> Alan, Thank you! I plan to fix it shortly. -Dmitry On 2013-02-06 14:47, Alan Bateman wrote: > > Dmitry - I realize you might be looking at this already but > test/sun/management/jdp/JdpTest.sh is failing on all platforms since it > was pushed. We can either put it on the exclude list (ProblemList.txt) > or fix it. Since it is trivial to fix then I'd like to do that - > attached is the proposed patch. > > -Alan. > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Wed Feb 6 04:28:54 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 16:28:54 +0400 Subject: RR(S) Re: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <51124C86.6060600@oracle.com> Hi Everyone, Please review the fix: http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/ -Dmitry On 2013-02-06 14:47, Alan Bateman wrote: > > Dmitry - I realize you might be looking at this already but > test/sun/management/jdp/JdpTest.sh is failing on all platforms since it > was pushed. We can either put it on the exclude list (ProblemList.txt) > or fix it. Since it is trivial to fix then I'd like to do that - > attached is the proposed patch. > > -Alan. > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From Alan.Bateman at oracle.com Wed Feb 6 04:35:34 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 06 Feb 2013 12:35:34 +0000 Subject: RR(S) Re: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <51124C86.6060600@oracle.com> References: <511234C9.2080108@oracle.com> <51124C86.6060600@oracle.com> Message-ID: <51124E16.4060200@oracle.com> On 06/02/2013 12:28, Dmitry Samersoff wrote: > Hi Everyone, > > Please review the fix: > > http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/ > > -Dmitry > > This looks fine to me (and good to get this one fixed as it is failing everywhere since the original changes were pushed). -Alan From dmitry.samersoff at oracle.com Wed Feb 6 04:55:07 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 06 Feb 2013 12:55:07 +0000 Subject: hg: jdk8/tl/jdk: 8007277: JDK-8002048 testcase fails to compile Message-ID: <20130206125528.1ADF547884@hg.openjdk.java.net> Changeset: 0e7d5dd84fdf Author: dsamersoff Date: 2013-02-06 16:53 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e7d5dd84fdf 8007277: JDK-8002048 testcase fails to compile Summary: sun.* classes is not included to ct.sym file and symbol file have to be ignored Reviewed-by: alanb ! test/sun/management/jdp/JdpTest.sh From daniel.daugherty at oracle.com Wed Feb 6 06:05:43 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 07:05:43 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51125DA6.4040302@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> Message-ID: <51126337.60600@oracle.com> Adding other alias and people back onto the thread... Thanks for the re-review! On 2/6/13 6:41 AM, Coleen Phillimore wrote: > > This is good that you added the INCLUDE_JVMTI. I didn't think it'd > add that much space, but it a good change. I didn't think it would add much space either, but... It gave me a chance to check out the MinimalVM stuff a bit and it serves to identify those pieces of code as being associated with JVM/TI. Karen and Serguei, when you get the chance, please re-review. Again, thanks for the re-review! Dan > Thumbs up! > Coleen > > On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> The JPDA stack testing finished with no new regressions on HSX-23.6, >> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >> >> I've updated the HSX-25 version of the fix due to Karen's comments >> about the MinimalVM configuration in Code Review Round 1. In this >> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >> to limit the exposure of new tracing code to configurations that >> include JVM/TI support. The MinimalVM does not support JVM/TI so >> none of the new code needs to be included there. While I was at it, >> I also excluded some other JVM/TI RedefineClasses() support code >> from the MinimalVM config that I hadn't previously touched. >> >> In short, none of the functionality has been changed in this round. >> Just the way it is built or not built has been changed. >> >> Here is the URL for the latest HSX-25 webrev: >> >> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >> >> Thanks, in advance, for more comments, suggestions or questions. >> >> Dan >> >> >> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've updated the fix due to comments in Code Review Round 0. >>> >>> Here is a summary of changes made to the various files: >>> >>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>> src/share/vm/oops/cpCache.cpp (HSX-25) >>> src/share/vm/oops/klassVtable.cpp >>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>> these files are outside of JVM/TI RedefineClasses proper so the >>> tracing/debug style should not be dictated by JVM/TI >>> RedefineClasses >>> style that is currently in use >>> - did not touch the existing RC_TRACE... macros in the file; removing >>> the existing macro calls would be outside the scope of this bug >>> >>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>> src/share/vm/oops/cpCache.cpp (HSX-25) >>> - copy a comment from >>> ConstantPoolCacheEntry::is_interesting_method_entry() >>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>> >>> src/share/vm/oops/klassVtable.cpp >>> - Copied the new comment intended to prevent the "break" from >>> re-materializing again from klassItable::adjust_method_entries() >>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>> >>> In the HSX-25 version only: >>> src/share/vm/oops/metadata.hpp >>> - revert changes >>> >>> src/share/vm/oops/cpCacheOop.cpp >>> src/share/vm/oops/klassVtable.cpp >>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>> >>> Here are the URLs for the updated webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>> >>> The JPDA stack testing that I started on Friday is still running on >>> WinXP so I'm blocked for checking the recompile due to these changes. >>> I'll start a recompile on Solaris X86, but that will take some time. >>> >>> Thanks, in advance, for more comments, suggestions or questions. >>> >>> Dan >>> >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> > From dmitry.samersoff at oracle.com Wed Feb 6 06:05:38 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 18:05:38 +0400 Subject: RR(S): 8007536 Incorrect copyright header in JDP files Message-ID: <51126332.3060405@oracle.com> Hi Everyone, Please, review this, copyright-only fix http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/ -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From maurizio.cimadamore at oracle.com Wed Feb 6 06:05:34 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 06 Feb 2013 14:05:34 +0000 Subject: hg: jdk8/tl/langtools: 2 new changesets Message-ID: <20130206140542.3C41747886@hg.openjdk.java.net> Changeset: 1df20330f6bd Author: mcimadamore Date: 2013-02-06 14:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1df20330f6bd 8007463: Cleanup inference related classes Summary: Make Infer.InferenceContext an inner class; adjust bound replacement logic in Type.UndetVar Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/util/List.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/lib/DPrinter.java Changeset: 8cdd96f2fdb9 Author: mcimadamore Date: 2013-02-06 14:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8cdd96f2fdb9 8007479: Refactor DeferredAttrContext so that it points to parent context Summary: Move DeferredAttrNode out of DeferredAttrContext; add support for nested deferred contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java From yekaterina.kantserova at oracle.com Wed Feb 6 07:40:23 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Wed, 06 Feb 2013 16:40:23 +0100 Subject: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg In-Reply-To: <5110F304.4080602@oracle.com> References: <510BB12C.2030802@oracle.com> <510BB5CC.6050604@oracle.com> <510BC3E0.6020107@oracle.com> <510BCF1B.3010704@oracle.com> <510BD9EF.1050202@oracle.com> <510BDCAA.1080909@oracle.com> <510F8E6C.2090301@oracle.com> <510F9393.8080509@oracle.com> <510F9596.8060503@oracle.com> <510FB531.8040407@oracle.com> <5110E434.40600@oracle.com> <5110F304.4080602@oracle.com> Message-ID: <51127967.6040908@oracle.com> Alan, thanks for the review! // Katja On 02/05/2013 12:54 PM, Alan Bateman wrote: > On 05/02/2013 10:51, Yekaterina Kantserova wrote: >> On 02/04/2013 02:18 PM, Alan Bateman wrote: >>> On 04/02/2013 11:03, Yekaterina Kantserova wrote: >>>> >>>> But JDKToolFinder.getJDKTool is used even for finding java, e.g. I >>>> need to fork a java process - JDKToolFinder.getJDKTool("java") for >>>> some JRE tests? >>> It might be better to rename JDKToolFinder to something like >>> JdkFinder and have it define getJavaLauncher() and getTool(String >>> tool) methods. >> I think it's good idea to separate java launcher and tools. Here is >> the new JdkFinder: >> http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. >> It now possible to retrieve java/tools both from the test.jdk and >> compile.jdk. >> >>> If you don't agree then you could at least change >>> ProcessTools.createJavaProcessBuilder so that it looks like "java" >>> in the JDK/JRE under test. >>> >> JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher in >> the createJavaProcessBuilder >> (http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html). >>> -Alan. >> > It looks right to me now. > > -Alan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130206/416a56c8/attachment.html From mandy.chung at oracle.com Wed Feb 6 07:50:59 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Wed, 06 Feb 2013 07:50:59 -0800 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <511234C9.2080108@oracle.com> References: <511234C9.2080108@oracle.com> Message-ID: <51127BE3.1080605@oracle.com> On 2/6/2013 2:47 AM, Alan Bateman wrote: > > diff --git a/test/sun/management/jdp/JdpTest.sh > b/test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh > +++ b/test/sun/management/jdp/JdpTest.sh > @@ -23,7 +23,7 @@ > > # @test > # @bug 7169888 > -# @build JdpUnitTest JdpClient JdpDoSomething > +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java > JdpDoSomething.java > # @run shell JdpTest.sh --jtreg --no-compile > # @summary No word Failed expected in the test output > > @@ -55,7 +55,7 @@ > rm -f ${_testclasses}/*.class > > # Compile testcase > - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ > + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} > JdpUnitTest.java \ > JdpDoSomething.java \ > JdpClient.java The fix itself looks good. This question is more for the original test: Is @compile line needed? Is $_testclasses same as $TESTCLASSES? Mandy From jonathan.gibbons at oracle.com Wed Feb 6 07:49:53 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 06 Feb 2013 15:49:53 +0000 Subject: hg: jdk8/tl/langtools: 8007566: DocLint too aggressive with not allowed here:

Message-ID: <20130206154958.3AFE04788A@hg.openjdk.java.net> Changeset: 153d20d0cac5 Author: jjg Date: 2013-02-06 07:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/153d20d0cac5 8007566: DocLint too aggressive with not allowed here:

Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/ParaTagTest.java From dmitry.samersoff at oracle.com Wed Feb 6 07:58:43 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 06 Feb 2013 19:58:43 +0400 Subject: 8007277: JDK-8002048 testcase fails to compile In-Reply-To: <51127BE3.1080605@oracle.com> References: <511234C9.2080108@oracle.com> <51127BE3.1080605@oracle.com> Message-ID: <51127DB3.10502@oracle.com> Mandy, The test designed to leave as much as possible to JTReg but work without JTRreg as well. so if test run under JTReg, --no-compile option used and test is compiled by JTReg it requires both @compile header tag and explicit compilation code. Actual changes contains a comment explaining it. _testclasses variable points to ${TESTCLASSES} under JTreg or to `pwd`/.classes directory common for all my tests, if run standalone. -Dmitry On 2013-02-06 19:50, Mandy Chung wrote: > > On 2/6/2013 2:47 AM, Alan Bateman wrote: >> >> diff --git a/test/sun/management/jdp/JdpTest.sh >> b/test/sun/management/jdp/JdpTest.sh >> --- a/test/sun/management/jdp/JdpTest.sh >> +++ b/test/sun/management/jdp/JdpTest.sh >> @@ -23,7 +23,7 @@ >> >> # @test >> # @bug 7169888 >> -# @build JdpUnitTest JdpClient JdpDoSomething >> +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java >> JdpDoSomething.java >> # @run shell JdpTest.sh --jtreg --no-compile >> # @summary No word Failed expected in the test output >> >> @@ -55,7 +55,7 @@ >> rm -f ${_testclasses}/*.class >> >> # Compile testcase >> - ${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \ >> + ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} >> JdpUnitTest.java \ >> JdpDoSomething.java \ >> JdpClient.java > > The fix itself looks good. This question is more for the original test: > Is @compile line needed? Is $_testclasses same as $TESTCLASSES? > > Mandy -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From mike.duigou at oracle.com Wed Feb 6 11:10:06 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Wed, 06 Feb 2013 19:10:06 +0000 Subject: hg: jdk8/tl: 8004726: Link bug ids to jbs rather than monaco. Message-ID: <20130206191006.2B1DB47894@hg.openjdk.java.net> Changeset: 168dd033604a Author: mduigou Date: 2013-02-06 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/168dd033604a 8004726: Link bug ids to jbs rather than monaco. Reviewed-by: ohair, chegar, katleman ! make/scripts/webrev.ksh From lance.andersen at oracle.com Wed Feb 6 11:15:39 2013 From: lance.andersen at oracle.com (lance.andersen at oracle.com) Date: Wed, 06 Feb 2013 19:15:39 +0000 Subject: hg: jdk8/tl/jdk: 8006505: additional changes for JSR 310 support Message-ID: <20130206191600.8C06347896@hg.openjdk.java.net> Changeset: 1574fa3df1c0 Author: lancea Date: 2013-02-06 14:15 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1574fa3df1c0 8006505: additional changes for JSR 310 support Reviewed-by: naoto, ulfzibis ! src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLOutput.java ! src/share/classes/java/sql/Types.java From karen.kinnear at oracle.com Wed Feb 6 11:54:51 2013 From: karen.kinnear at oracle.com (Karen Kinnear) Date: Wed, 6 Feb 2013 14:54:51 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51126337.60600@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> Message-ID: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Thank you Dan - this is much better and sets a good model for the rest of us. thanks, Karen On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > Adding other alias and people back onto the thread... > > Thanks for the re-review! > > > On 2/6/13 6:41 AM, Coleen Phillimore wrote: >> >> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. > > I didn't think it would add much space either, but... > > It gave me a chance to check out the MinimalVM stuff a bit and > it serves to identify those pieces of code as being associated > with JVM/TI. > > Karen and Serguei, when you get the chance, please re-review. > > Again, thanks for the re-review! > > Dan > > >> Thumbs up! >> Coleen >> >> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>> >>> I've updated the HSX-25 version of the fix due to Karen's comments >>> about the MinimalVM configuration in Code Review Round 1. In this >>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>> to limit the exposure of new tracing code to configurations that >>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>> none of the new code needs to be included there. While I was at it, >>> I also excluded some other JVM/TI RedefineClasses() support code >>> from the MinimalVM config that I hadn't previously touched. >>> >>> In short, none of the functionality has been changed in this round. >>> Just the way it is built or not built has been changed. >>> >>> Here is the URL for the latest HSX-25 webrev: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>> >>> Thanks, in advance, for more comments, suggestions or questions. >>> >>> Dan >>> >>> >>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I've updated the fix due to comments in Code Review Round 0. >>>> >>>> Here is a summary of changes made to the various files: >>>> >>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>> src/share/vm/oops/klassVtable.cpp >>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>> these files are outside of JVM/TI RedefineClasses proper so the >>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>> style that is currently in use >>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>> the existing macro calls would be outside the scope of this bug >>>> >>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>> >>>> src/share/vm/oops/klassVtable.cpp >>>> - Copied the new comment intended to prevent the "break" from >>>> re-materializing again from klassItable::adjust_method_entries() >>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>> >>>> In the HSX-25 version only: >>>> src/share/vm/oops/metadata.hpp >>>> - revert changes >>>> >>>> src/share/vm/oops/cpCacheOop.cpp >>>> src/share/vm/oops/klassVtable.cpp >>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>> >>>> Here are the URLs for the updated webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>> >>>> The JPDA stack testing that I started on Friday is still running on >>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>> I'll start a recompile on Solaris X86, but that will take some time. >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>> reproducible in the WLS environment in which it occurred so I made the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >> > From daniel.daugherty at oracle.com Wed Feb 6 12:08:03 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:08:03 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <510C55DF.3000002@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> Message-ID: <5112B823.4040502@oracle.com> Greetings, I've revised the tests based on Coleen's and Serguei's feedback in Code Review Round 0. Here is the URL for the webrev for Code Review Round 1: http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ Summary of the changes: - RedefineAbstractClass.sh - cleaned up the header comment - RedefineAbstractClass.sh - more clear description of what's being tested - add comments describing what the guarantee failure looks like - add checks for proper pre-RedefineClasses output - add checks for proper post-RedefineClasses output - RedefineSubclassWithTwoInterfacesApp.java - RedefineSubclassWithTwoInterfacesRemote.java - refactor the test app's echo() method call into echo1() and echo2() so it is easier to check for the failure mode - RedefineSubclassWithTwoInterfacesImpl.java - RedefineSubclassWithTwoInterfacesImpl_1.java - add comment to explain why these sources are identical Diffs are below since the webrev above is relative to JDK8-T&L and everything is "new". Dan Here are diffs (ignoring whitespace) to make it clear what has changed between Code Review Round 0 and Code Review Round 1: $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} 31a32 > # @author Daniel D. Daugherty $ diff -w test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} 26c26,27 < # @summary Redefining a subclass that implements two interfaces is broken. --- > # @summary Redefine a subclass that implements two interfaces and > # verify that the right methods are called. 101a103,104 > > echo "INFO: " 102a106,107 > echo "INFO: " > 108,112c113,127 < MESG="guarantee" < grep "$MESG" output.log < result=$? < if [ "$result" = 0 ]; then < echo "FAIL: found '$MESG' in the test output" --- > # When this bug manifests, RedefineClasses() will fail to update > # one of the itable entries to refer to the new method. The log > # will include the following line when the bug occurs: > # > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > # > # If this guarantee happens, the test should fail in the status > # check above, but just in case it doesn't, we check for "guarantee". > # > > FAIL_MESG="guarantee" > grep "$FAIL_MESG" output.log > status=$? > if [ "$status" = 0 ]; then > echo "FAIL: found '$FAIL_MESG' in the test output." 115c130,131 < echo "PASS: did NOT find '$MESG' in the test output" --- > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > # be optimistic here 118a135,164 > PASS1_MESG="before any redefines" > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > case "$cnt" in > 2) > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > ;; > *) > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > echo "INFO: grep '$PASS1_MESG' output:" > grep "$PASS1_MESG" output.log > result=1 > esac > > PASS2_MESG="after redefine" > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > case "$cnt" in > 2) > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > ;; > *) > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > echo "INFO: grep '$PASS2_MESG' output:" > grep "$PASS2_MESG" output.log > result=1 > esac > > if [ "$result" = 0 ]; then > echo "PASS: test passed both positive and negative output checks." > fi > $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} 43,45c43,45 < // make an echo() call before any redefinitions: < mesg = remote.echo("test message #0"); < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" --- > // make echo() calls before any redefinitions: > mesg = remote.echo1("test message #1.1"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" 46a47,49 > mesg = remote.echo2("test message #2.1"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > + mesg + "' before any redefines"); 54,56c57,62 < mesg = remote.echo("test message #1"); < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" < + mesg + "' after redefine #1"); --- > mesg = remote.echo1("test message #1.2"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > + mesg + "' after redefine"); > mesg = remote.echo2("test message #2.2"); > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > + mesg + "' after redefine"); $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} 23a24,27 > // Reproducing this bug only requires an EMCP version of the > // RedefineSubclassWithTwoInterfacesImpl class so > // RedefineSubclassWithTwoInterfacesImpl.java and > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} 40,41c40,41 < public String echo(String s) { < return "intf1<" + intf1.echo(s) + "> intf2< " + intf2.echo(s) + ">"; --- > public String echo1(String s) { > return "intf1<" + intf1.echo(s) + ">"; 42a43,46 > > public String echo2(String s) { > return "intf2<" + intf2.echo(s) + ">"; > } On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: > And here is the webrev for the new tests (relative to JDK8-T&L): > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >> > There are two new tests that will be pushed to the JDK repos using >> > a different bug ID (not yet filed): >> >> New bug is now filed: >> >> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >> to java/lang/instrument >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >> https://jbs.oracle.com/bugs/browse/JDK-8007420 >> >> Of course, the tests cannot be pushed until the HSX changes have made >> it into a promoted build and thus available to JDK8-T&L. >> >> Dan >> >> >> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I have a fix for the following JVM/TI bug: >>> >>> 7182152 Instrumentation hot swap test incorrect monitor count >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>> >>> The fix for the bug in the product code is one line: >>> >>> src/share/vm/oops/klassVtable.cpp: >>> >>> @@ -992,18 +1020,50 @@ >>> // RC_TRACE macro has an embedded ResourceMark >>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>> new_method->name()->as_C_string(), >>> new_method->signature()->as_C_string())); >>> } >>> - break; >>> + // cannot 'break' here; see for-loop comment above. >>> } >>> ime++; >>> } >>> } >>> } >>> >>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>> changeset. Many thanks to Coleen for her help in this bug hunt! >>> >>> The rest of the code in the webrevs are: >>> >>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>> - additional JVM/TI tracing code added by me and forward ported to >>> HSX-25 >>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>> elusive old or obsolete methods >>> - exposure of some printing code to the PRODUCT build so that the new >>> tracing is available in a PRODUCT build >>> >>> You might be wondering why the new tracing code is exposed in a PRODUCT >>> build. Well, it appears that more and more PRODUCT bits deployments are >>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>> to instrument their systems. This bug (7182152) was only intermittently >>> reproducible in the WLS environment in which it occurred so I made the >>> tracing available in a PRODUCT build to assist in the hunt. >>> >>> Raj from the WLS team has also verified that the HSX-23.6 version of >>> fix resolves the issue in his environment. Thanks Raj! >>> >>> Here are the URLs for the three webrevs: >>> >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>> >>> I have run the following test suites from the JPDA stack on the >>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>> specified: >>> >>> sdk-jdi >>> sdk-jdi_closed >>> sdk-jli >>> vm-heapdump >>> vm-hprof >>> vm-jdb >>> vm-jdi >>> vm-jdwp >>> vm-jvmti >>> vm-sajdi >>> >>> The tested configs are: >>> >>> {Solaris-X86, WinXP} >>> X {Client VM, Server VM} >>> X {-Xmixed, -Xcomp} >>> X {product, fastdebug} >>> >>> With the 1-liner fix in place, the new tracing code does not find any >>> instances of this failure mode in any of the above test suites. Without >>> the the 1-liner fix in place, the new tracing code finds one instance >>> of this failure mode in the above test suites: >>> >>> test/java/lang/instrument/IsModifiableClassAgent.java >>> >>> There are two new tests that will be pushed to the JDK repos using >>> a different bug ID (not yet filed): >>> >>> test/com/sun/jdi/RedefineAbstractClass.sh >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>> >>> There will be a separate review request for the new tests. >>> >>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>> take all weekend to complete. >>> >>> Thanks, in advance, for any comments and/or suggestions. >>> >>> Dan >>> >>> >>> >> >> >> > > > From daniel.daugherty at oracle.com Wed Feb 6 12:09:00 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:09:00 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Message-ID: <5112B85C.2000306@oracle.com> Karen, Thanks for the re-review! Serguei, just waiting for you to chime in!! Dan On 2/6/13 12:54 PM, Karen Kinnear wrote: > Thank you Dan - this is much better and sets a good model for the rest of us. > > thanks, > Karen > > On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > >> Adding other alias and people back onto the thread... >> >> Thanks for the re-review! >> >> >> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. >> I didn't think it would add much space either, but... >> >> It gave me a chance to check out the MinimalVM stuff a bit and >> it serves to identify those pieces of code as being associated >> with JVM/TI. >> >> Karen and Serguei, when you get the chance, please re-review. >> >> Again, thanks for the re-review! >> >> Dan >> >> >>> Thumbs up! >>> Coleen >>> >>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>> >>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>> about the MinimalVM configuration in Code Review Round 1. In this >>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>> to limit the exposure of new tracing code to configurations that >>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>> none of the new code needs to be included there. While I was at it, >>>> I also excluded some other JVM/TI RedefineClasses() support code >>>> from the MinimalVM config that I hadn't previously touched. >>>> >>>> In short, none of the functionality has been changed in this round. >>>> Just the way it is built or not built has been changed. >>>> >>>> Here is the URL for the latest HSX-25 webrev: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I've updated the fix due to comments in Code Review Round 0. >>>>> >>>>> Here is a summary of changes made to the various files: >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>>> style that is currently in use >>>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>>> the existing macro calls would be outside the scope of this bug >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>> >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - Copied the new comment intended to prevent the "break" from >>>>> re-materializing again from klassItable::adjust_method_entries() >>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>> >>>>> In the HSX-25 version only: >>>>> src/share/vm/oops/metadata.hpp >>>>> - revert changes >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>> >>>>> Here are the URLs for the updated webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>> >>>>> The JPDA stack testing that I started on Friday is still running on >>>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>>> reproducible in the WLS environment in which it occurred so I made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>>> instances of this failure mode in any of the above test suites. Without >>>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> From serguei.spitsyn at oracle.com Wed Feb 6 12:22:59 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 06 Feb 2013 12:22:59 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <43393816-C454-4502-A229-0D6E117083F6@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> Message-ID: <5112BBA3.1030002@oracle.com> Looks good. Thanks, Serguei On 2/6/13 11:54 AM, Karen Kinnear wrote: > Thank you Dan - this is much better and sets a good model for the rest of us. > > thanks, > Karen > > On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: > >> Adding other alias and people back onto the thread... >> >> Thanks for the re-review! >> >> >> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd add that much space, but it a good change. >> I didn't think it would add much space either, but... >> >> It gave me a chance to check out the MinimalVM stuff a bit and >> it serves to identify those pieces of code as being associated >> with JVM/TI. >> >> Karen and Serguei, when you get the chance, please re-review. >> >> Again, thanks for the re-review! >> >> Dan >> >> >>> Thumbs up! >>> Coleen >>> >>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>> >>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>> about the MinimalVM configuration in Code Review Round 1. In this >>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>> to limit the exposure of new tracing code to configurations that >>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>> none of the new code needs to be included there. While I was at it, >>>> I also excluded some other JVM/TI RedefineClasses() support code >>>> from the MinimalVM config that I hadn't previously touched. >>>> >>>> In short, none of the functionality has been changed in this round. >>>> Just the way it is built or not built has been changed. >>>> >>>> Here is the URL for the latest HSX-25 webrev: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>> >>>> Thanks, in advance, for more comments, suggestions or questions. >>>> >>>> Dan >>>> >>>> >>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I've updated the fix due to comments in Code Review Round 0. >>>>> >>>>> Here is a summary of changes made to the various files: >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request; >>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>> tracing/debug style should not be dictated by JVM/TI RedefineClasses >>>>> style that is currently in use >>>>> - did not touch the existing RC_TRACE... macros in the file; removing >>>>> the existing macro calls would be outside the scope of this bug >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>> - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry() >>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>> >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - Copied the new comment intended to prevent the "break" from >>>>> re-materializing again from klassItable::adjust_method_entries() >>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>> >>>>> In the HSX-25 version only: >>>>> src/share/vm/oops/metadata.hpp >>>>> - revert changes >>>>> >>>>> src/share/vm/oops/cpCacheOop.cpp >>>>> src/share/vm/oops/klassVtable.cpp >>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>> >>>>> Here are the URLs for the updated webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>> >>>>> The JPDA stack testing that I started on Friday is still running on >>>>> WinXP so I'm blocked for checking the recompile due to these changes. >>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>>>> to instrument their systems. This bug (7182152) was only intermittently >>>>>> reproducible in the WLS environment in which it occurred so I made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>>> instances of this failure mode in any of the above test suites. Without >>>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> From serguei.spitsyn at oracle.com Wed Feb 6 12:24:20 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 06 Feb 2013 12:24:20 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B85C.2000306@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> <5112B85C.2000306@oracle.com> Message-ID: <5112BBF4.6060400@oracle.com> Already reviewed. :) It is good. Thanks, Serguei On 2/6/13 12:09 PM, Daniel D. Daugherty wrote: > Karen, > > Thanks for the re-review! > > Serguei, just waiting for you to chime in!! > > Dan > > > On 2/6/13 12:54 PM, Karen Kinnear wrote: >> Thank you Dan - this is much better and sets a good model for the >> rest of us. >> >> thanks, >> Karen >> >> On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: >> >>> Adding other alias and people back onto the thread... >>> >>> Thanks for the re-review! >>> >>> >>> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd >>>> add that much space, but it a good change. >>> I didn't think it would add much space either, but... >>> >>> It gave me a chance to check out the MinimalVM stuff a bit and >>> it serves to identify those pieces of code as being associated >>> with JVM/TI. >>> >>> Karen and Serguei, when you get the chance, please re-review. >>> >>> Again, thanks for the re-review! >>> >>> Dan >>> >>> >>>> Thumbs up! >>>> Coleen >>>> >>>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>>> >>>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>>> about the MinimalVM configuration in Code Review Round 1. In this >>>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>>> to limit the exposure of new tracing code to configurations that >>>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>>> none of the new code needs to be included there. While I was at it, >>>>> I also excluded some other JVM/TI RedefineClasses() support code >>>>> from the MinimalVM config that I hadn't previously touched. >>>>> >>>>> In short, none of the functionality has been changed in this round. >>>>> Just the way it is built or not built has been changed. >>>>> >>>>> Here is the URL for the latest HSX-25 webrev: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I've updated the fix due to comments in Code Review Round 0. >>>>>> >>>>>> Here is a summary of changes made to the various files: >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's >>>>>> request; >>>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>>> tracing/debug style should not be dictated by JVM/TI >>>>>> RedefineClasses >>>>>> style that is currently in use >>>>>> - did not touch the existing RC_TRACE... macros in the file; >>>>>> removing >>>>>> the existing macro calls would be outside the scope of this bug >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> - copy a comment from >>>>>> ConstantPoolCacheEntry::is_interesting_method_entry() >>>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - Copied the new comment intended to prevent the "break" from >>>>>> re-materializing again from klassItable::adjust_method_entries() >>>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>>> >>>>>> In the HSX-25 version only: >>>>>> src/share/vm/oops/metadata.hpp >>>>>> - revert changes >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>>> >>>>>> Here are the URLs for the updated webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>>> >>>>>> The JPDA stack testing that I started on Friday is still running on >>>>>> WinXP so I'm blocked for checking the recompile due to these >>>>>> changes. >>>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>>> >>>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> > From daniel.daugherty at oracle.com Wed Feb 6 12:25:27 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 06 Feb 2013 13:25:27 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112BBA3.1030002@oracle.com> References: <510C1DC6.2010607@oracle.com> <51102336.9000808@oracle.com> <5111F135.4070401@oracle.com> <51125DA6.4040302@oracle.com> <51126337.60600@oracle.com> <43393816-C454-4502-A229-0D6E117083F6@oracle.com> <5112BBA3.1030002@oracle.com> Message-ID: <5112BC37.6010303@oracle.com> Thanks Serguei! Dan On 2/6/13 1:22 PM, serguei.spitsyn at oracle.com wrote: > Looks good. > > Thanks, > Serguei > > On 2/6/13 11:54 AM, Karen Kinnear wrote: >> Thank you Dan - this is much better and sets a good model for the >> rest of us. >> >> thanks, >> Karen >> >> On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote: >> >>> Adding other alias and people back onto the thread... >>> >>> Thanks for the re-review! >>> >>> >>> On 2/6/13 6:41 AM, Coleen Phillimore wrote: >>>> This is good that you added the INCLUDE_JVMTI. I didn't think it'd >>>> add that much space, but it a good change. >>> I didn't think it would add much space either, but... >>> >>> It gave me a chance to check out the MinimalVM stuff a bit and >>> it serves to identify those pieces of code as being associated >>> with JVM/TI. >>> >>> Karen and Serguei, when you get the chance, please re-review. >>> >>> Again, thanks for the re-review! >>> >>> Dan >>> >>> >>>> Thumbs up! >>>> Coleen >>>> >>>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> The JPDA stack testing finished with no new regressions on HSX-23.6, >>>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed. >>>>> >>>>> I've updated the HSX-25 version of the fix due to Karen's comments >>>>> about the MinimalVM configuration in Code Review Round 1. In this >>>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define >>>>> to limit the exposure of new tracing code to configurations that >>>>> include JVM/TI support. The MinimalVM does not support JVM/TI so >>>>> none of the new code needs to be included there. While I was at it, >>>>> I also excluded some other JVM/TI RedefineClasses() support code >>>>> from the MinimalVM config that I hadn't previously touched. >>>>> >>>>> In short, none of the functionality has been changed in this round. >>>>> Just the way it is built or not built has been changed. >>>>> >>>>> Here is the URL for the latest HSX-25 webrev: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/ >>>>> >>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I've updated the fix due to comments in Code Review Round 0. >>>>>> >>>>>> Here is a summary of changes made to the various files: >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - removed the new RC_TRACE_NO_CR() macro calls at Coleen's >>>>>> request; >>>>>> these files are outside of JVM/TI RedefineClasses proper so the >>>>>> tracing/debug style should not be dictated by JVM/TI >>>>>> RedefineClasses >>>>>> style that is currently in use >>>>>> - did not touch the existing RC_TRACE... macros in the file; >>>>>> removing >>>>>> the existing macro calls would be outside the scope of this bug >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24) >>>>>> src/share/vm/oops/cpCache.cpp (HSX-25) >>>>>> - copy a comment from >>>>>> ConstantPoolCacheEntry::is_interesting_method_entry() >>>>>> to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries() >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - Copied the new comment intended to prevent the "break" from >>>>>> re-materializing again from klassItable::adjust_method_entries() >>>>>> to klassVtable::adjust_method_entries(); yes, I'm paranoid. >>>>>> >>>>>> In the HSX-25 version only: >>>>>> src/share/vm/oops/metadata.hpp >>>>>> - revert changes >>>>>> >>>>>> src/share/vm/oops/cpCacheOop.cpp >>>>>> src/share/vm/oops/klassVtable.cpp >>>>>> - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate >>>>>> >>>>>> Here are the URLs for the updated webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/ >>>>>> >>>>>> The JPDA stack testing that I started on Friday is still running on >>>>>> WinXP so I'm blocked for checking the recompile due to these >>>>>> changes. >>>>>> I'll start a recompile on Solaris X86, but that will take some time. >>>>>> >>>>>> Thanks, in advance, for more comments, suggestions or questions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> > From james.holmlund at oracle.com Wed Feb 6 15:11:09 2013 From: james.holmlund at oracle.com (james.holmlund at oracle.com) Date: Wed, 06 Feb 2013 23:11:09 +0000 Subject: hg: jdk8/tl/langtools: 8007698: jtreg test T6306137.java won't compile with ASCII encoding Message-ID: <20130206231115.68C24478A3@hg.openjdk.java.net> Changeset: b386b8c45387 Author: jjh Date: 2013-02-06 23:10 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b386b8c45387 8007698: jtreg test T6306137.java won't compile with ASCII encoding Reviewed-by: ksrini ! test/tools/javac/api/T6306137.java From mikael.vidstedt at oracle.com Wed Feb 6 15:50:41 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Wed, 06 Feb 2013 15:50:41 -0800 Subject: RR(S): 8007536 Incorrect copyright header in JDP files In-Reply-To: <51126332.3060405@oracle.com> References: <51126332.3060405@oracle.com> Message-ID: <5112EC51.2060409@oracle.com> Looks good. Cheers, Mikael On 2013-02-06 06:05, Dmitry Samersoff wrote: > Hi Everyone, > > Please, review this, copyright-only fix > > http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/ > > -Dmitry > From martinrb at google.com Wed Feb 6 18:02:32 2013 From: martinrb at google.com (martinrb at google.com) Date: Thu, 07 Feb 2013 02:02:32 +0000 Subject: hg: jdk8/tl/jdk: 8006995: java launcher fails to open executable JAR > 2GB Message-ID: <20130207020243.8E8CA478AF@hg.openjdk.java.net> Changeset: 2f1505c49e79 Author: martin Date: 2013-02-06 17:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2f1505c49e79 8006995: java launcher fails to open executable JAR > 2GB Summary: Use O_LARGEFILE consistently when opening jar files Reviewed-by: alanb, sherman ! src/share/bin/parse_manifest.c From daniel.daugherty at oracle.com Wed Feb 6 19:46:50 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Thu, 07 Feb 2013 03:46:50 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 7182152: Instrumentation hot swap test incorrect monitor count Message-ID: <20130207034655.3BABB478B4@hg.openjdk.java.net> Changeset: 8d9fc28831cc Author: dcubed Date: 2013-02-06 14:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8d9fc28831cc 7182152: Instrumentation hot swap test incorrect monitor count Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384. Reviewed-by: coleenp, acorn, sspitsyn ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/accessFlags.hpp From serguei.spitsyn at oracle.com Thu Feb 7 00:30:06 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Thu, 07 Feb 2013 00:30:06 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B823.4040502@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> Message-ID: <5113660E.9070605@oracle.com> I agree, the test is a piece of art - nice example to start from for future test development. Ship it! Thanks, Serguei On 2/6/13 12:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've revised the tests based on Coleen's and Serguei's feedback > in Code Review Round 0. > > Here is the URL for the webrev for Code Review Round 1: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ > > Summary of the changes: > > - RedefineAbstractClass.sh - cleaned up the header comment > - RedefineAbstractClass.sh > - more clear description of what's being tested > - add comments describing what the guarantee failure looks like > - add checks for proper pre-RedefineClasses output > - add checks for proper post-RedefineClasses output > - RedefineSubclassWithTwoInterfacesApp.java > - RedefineSubclassWithTwoInterfacesRemote.java > - refactor the test app's echo() method call into echo1() and > echo2() so it is easier to check for the failure mode > - RedefineSubclassWithTwoInterfacesImpl.java > - RedefineSubclassWithTwoInterfacesImpl_1.java > - add comment to explain why these sources are identical > > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > Here are diffs (ignoring whitespace) to make it clear what has > changed between Code Review Round 0 and Code Review Round 1: > > > $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} > 31a32 > > # @author Daniel D. Daugherty > > > $ diff -w > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} > 26c26,27 > < # @summary Redefining a subclass that implements two interfaces is > broken. > --- > > # @summary Redefine a subclass that implements two interfaces and > > # verify that the right methods are called. > 101a103,104 > > > > echo "INFO: " > 102a106,107 > > echo "INFO: " > > > 108,112c113,127 > < MESG="guarantee" > < grep "$MESG" output.log > < result=$? > < if [ "$result" = 0 ]; then > < echo "FAIL: found '$MESG' in the test output" > --- > > # When this bug manifests, RedefineClasses() will fail to update > > # one of the itable entries to refer to the new method. The log > > # will include the following line when the bug occurs: > > # > > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > > # > > # If this guarantee happens, the test should fail in the status > > # check above, but just in case it doesn't, we check for "guarantee". > > # > > > > FAIL_MESG="guarantee" > > grep "$FAIL_MESG" output.log > > status=$? > > if [ "$status" = 0 ]; then > > echo "FAIL: found '$FAIL_MESG' in the test output." > 115c130,131 > < echo "PASS: did NOT find '$MESG' in the test output" > --- > > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > > # be optimistic here > 118a135,164 > > PASS1_MESG="before any redefines" > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > > echo "INFO: grep '$PASS1_MESG' output:" > > grep "$PASS1_MESG" output.log > > result=1 > > esac > > > > PASS2_MESG="after redefine" > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > > echo "INFO: grep '$PASS2_MESG' output:" > > grep "$PASS2_MESG" output.log > > result=1 > > esac > > > > if [ "$result" = 0 ]; then > > echo "PASS: test passed both positive and negative output checks." > > fi > > > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} > 43,45c43,45 > < // make an echo() call before any redefinitions: > < mesg = remote.echo("test message #0"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > --- > > // make echo() calls before any redefinitions: > > mesg = remote.echo1("test message #1.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > 46a47,49 > > mesg = remote.echo2("test message #2.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' before any redefines"); > 54,56c57,62 > < mesg = remote.echo("test message #1"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > < + mesg + "' after redefine #1"); > --- > > mesg = remote.echo1("test message #1.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > > + mesg + "' after redefine"); > > mesg = remote.echo2("test message #2.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' after redefine"); > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} > 40,41c40,41 > < public String echo(String s) { > < return "intf1<" + intf1.echo(s) + "> intf2< " + > intf2.echo(s) + ">"; > --- > > public String echo1(String s) { > > return "intf1<" + intf1.echo(s) + ">"; > 42a43,46 > > > > public String echo2(String s) { > > return "intf2<" + intf2.echo(s) + ">"; > > } > > > On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> >> >> > From erik.helin at oracle.com Thu Feb 7 04:36:06 2013 From: erik.helin at oracle.com (Erik Helin) Date: Thu, 07 Feb 2013 13:36:06 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51116827.80100@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> Message-ID: <51139FB6.4080300@oracle.com> Hi Mandy, thanks for the review! See comments inline. On 02/05/2013 09:14 PM, Mandy Chung wrote: > Hi Erik, > > On 2/4/13 8:01 AM, Erik Helin wrote: >> There have been some updates to the hotspot code based on feedback from >> the hotspot-gc-dev mailing list. The only change to the JDK code is that >> the namespace is back to "sun.gc" :) >> >> New webrevs: >> - jdk: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.03/ >> - hotspot: http://cr.openjdk.java.net/~ehelin/8004172/hotspot/webrev.03/ > > Looks good. Minor nits: > > gcCapacityOutput1.awk - should the last column in L7 be removed? I don't think so, jmap -gccause outputs the GC cause in the last column, which sometimes can be "No GC". Why do you think it should be removed? On 02/05/2013 09:14 PM, Mandy Chung wrote: > jstatGcMetaCapacityOutput1.sh - it's a new test and the copyright year > should be 2013. Updated. See new webrev for jdk at: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.04/ >> Note that the fixed tests will continue to fail until the HotSpot >> part of the change finds it way into the tl forest. On 02/05/2013 09:14 PM, Mandy Chung wrote: > How are you going to integrate the hotspot and jdk fixes in a > synchronized fashion? We shall make sure the TL sun/tools/jstat > tests pass at all times. Thanks for catching this. the tests in tl do passes (I was wrong about this). The change will have to be pushed in several steps: 1. Add new metaspace counters (and keep the old ones). This will be pushed to hotspot-gc. 2. Wait for the change to trickle down to tl. 3. Update the tests and jstat to use the new metaspace counters. 4. Wait for this change to trickle down to hotspot-gc. 5. Remove the old metaspace counters and push this to hotspot-gc. Do you want me to send out an additional webrev for what the hotspot code will look like with both the old and new counters? Thanks, Erik > Mandy > > From staffan.larsen at oracle.com Thu Feb 7 04:35:33 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 07 Feb 2013 12:35:33 +0000 Subject: hg: jdk8/tl/jdk: 8007142: Add utility classes for writing better multiprocess tests in jtreg Message-ID: <20130207123555.40E7A478D5@hg.openjdk.java.net> Changeset: 2de8c6c2d652 Author: ykantser Date: 2013-02-07 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2de8c6c2d652 8007142: Add utility classes for writing better multiprocess tests in jtreg Reviewed-by: alanb, rbackman + test/lib/testlibrary/OutputAnalyzerTest.java + test/lib/testlibrary/jdk/testlibrary/JcmdBase.java + test/lib/testlibrary/jdk/testlibrary/JdkFinder.java + test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java + test/lib/testlibrary/jdk/testlibrary/OutputBuffer.java + test/lib/testlibrary/jdk/testlibrary/ProcessTools.java + test/lib/testlibrary/jdk/testlibrary/StreamPumper.java From daniel.daugherty at oracle.com Thu Feb 7 06:49:29 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 07 Feb 2013 07:49:29 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5113660E.9070605@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <5113660E.9070605@oracle.com> Message-ID: <5113BEF9.6090803@oracle.com> Thanks for the re-review! Dan On 2/7/13 1:30 AM, serguei.spitsyn at oracle.com wrote: > I agree, the test is a piece of art - nice example to start from for > future test development. > Ship it! > > Thanks, > Serguei > > > On 2/6/13 12:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From mandy.chung at oracle.com Thu Feb 7 10:49:18 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Thu, 07 Feb 2013 10:49:18 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <51139FB6.4080300@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> Message-ID: <5113F72E.40602@oracle.com> On 2/7/2013 4:36 AM, Erik Helin wrote: > Hi Mandy, > > thanks for the review! See comments inline. > > On 02/05/2013 09:14 PM, Mandy Chung wrote: > >> Looks good. Minor nits: >> >> gcCapacityOutput1.awk - should the last column in L7 be removed? > > I don't think so, jmap -gccause outputs the GC cause in the last > column, which sometimes can be "No GC". > > Why do you think it should be removed? > This fix changes from 4 columns "PGCMN PGCMX PGC PC" to 3 columns "MCMN MCMX MC". Line 7 is an example output that I would think the number of columns is expected to match with line 6. Is that right? > > On 02/05/2013 09:14 PM, Mandy Chung wrote: >> How are you going to integrate the hotspot and jdk fixes in a >> synchronized fashion? We shall make sure the TL sun/tools/jstat >> tests pass at all times. > > Thanks for catching this. the tests in tl do passes (I was wrong about > this). The change will have to be pushed in several steps: > 1. Add new metaspace counters (and keep the old ones). This will be > pushed to hotspot-gc. > 2. Wait for the change to trickle down to tl. > 3. Update the tests and jstat to use the new metaspace counters. > 4. Wait for this change to trickle down to hotspot-gc. > 5. Remove the old metaspace counters and push this to hotspot-gc. > > Do you want me to send out an additional webrev for what the hotspot > code will look like with both the old and new counters? Jon may want to review the hotspot code if revised. I only review the jdk change. Thanks for considering doing a 2-phase hotspot change. This kind of synchronized change is painful. For this specific change, I'm open to temporarily disable these jstat tests for one integration cycle since the impact is only in jstat counters and well isolated and that'll ease the pain. i.e. (1) your hotspot change + add jstat tests in jdk/test/ProblemList.txt to hotspot-gc and when it's pulled down to TL (2) your jdk jstats change + remove jstat tests in jdk/test/ProblemList.txt in TL. Just another option for you to consider. No issue from me in either option. Mandy From joe.darcy at oracle.com Thu Feb 7 20:47:42 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Fri, 08 Feb 2013 04:47:42 +0000 Subject: hg: jdk8/tl/langtools: 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Message-ID: <20130208044749.690294791E@hg.openjdk.java.net> Changeset: 5125b9854d07 Author: darcy Date: 2013-02-07 20:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/5125b9854d07 7195131: Update 2 compiler combo tests for repeating annotations to include package and default use cases Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java + test/tools/javac/annotations/repeatingAnnotations/combo/TestCaseGenerator.java From john.coomes at oracle.com Thu Feb 7 20:57:23 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:23 +0000 Subject: hg: hsx/hotspot-rt: 8 new changesets Message-ID: <20130208045723.C054347926@hg.openjdk.java.net> Changeset: 6e296219633d Author: tbell Date: 2013-01-31 13:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/6e296219633d 8006933: Need to use nawk on Solaris to avoid awk limitations Reviewed-by: erikj, dholmes, dsamersoff ! common/makefiles/IdlCompilation.gmk Changeset: 12782ec1da5f Author: ohrstrom Date: 2013-01-31 14:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/12782ec1da5f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! common/autoconf/spec.gmk.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7e584be2ee58 Author: ohrstrom Date: 2013-02-01 11:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/7e584be2ee58 Merge Changeset: 339e4df096a2 Author: erikj Date: 2013-02-04 10:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/339e4df096a2 8007093: build-infra: Make should fail if spec is older than configure files Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: dea045cc48ca Author: erikj Date: 2013-02-04 11:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/dea045cc48ca 8007275: build-infra: Create final-images target Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: d3d9ab8ee7b0 Author: erikj Date: 2013-02-05 16:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/d3d9ab8ee7b0 8007524: build-infra: Incremental build of tools.jar broken Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 278af9fc67e7 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/278af9fc67e7 Merge Changeset: 3933eebc659d Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/3933eebc659d Added tag jdk8-b76 for changeset 278af9fc67e7 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:27 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:27 +0000 Subject: hg: hsx/hotspot-rt/corba: 3 new changesets Message-ID: <20130208045732.508A747927@hg.openjdk.java.net> Changeset: ce106b6b7394 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/ce106b6b7394 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildCorba.gmk Changeset: 58be6ca3c060 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/58be6ca3c060 Merge Changeset: 35684a40c584 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/35684a40c584 Added tag jdk8-b76 for changeset 58be6ca3c060 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:59 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:59 +0000 Subject: hg: hsx/hotspot-rt/jaxws: 3 new changesets Message-ID: <20130208045808.6D2BE47929@hg.openjdk.java.net> Changeset: 54beebb17494 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/54beebb17494 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxws.gmk Changeset: c4853f3f0e89 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/c4853f3f0e89 Merge Changeset: 64dfba1bad16 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/64dfba1bad16 Added tag jdk8-b76 for changeset c4853f3f0e89 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:57:36 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:57:36 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 3 new changesets Message-ID: <20130208045754.7615D47928@hg.openjdk.java.net> Changeset: 8f6ca8755f46 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/8f6ca8755f46 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxp.gmk Changeset: 0c08593944d0 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/0c08593944d0 Merge Changeset: 02195d0e96b9 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/02195d0e96b9 Added tag jdk8-b76 for changeset 0c08593944d0 ! .hgtags From john.coomes at oracle.com Thu Feb 7 20:58:17 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 04:58:17 +0000 Subject: hg: hsx/hotspot-rt/jdk: 5 new changesets Message-ID: <20130208050006.CF1E24792A@hg.openjdk.java.net> Changeset: c5a7ac2a721f Author: ohrstrom Date: 2013-01-31 14:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c5a7ac2a721f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/CreateJars.gmk ! makefiles/GensrcSwing.gmk ! makefiles/Setup.gmk Changeset: 35cf77f633c9 Author: tbell Date: 2013-02-01 09:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/35cf77f633c9 8006808: mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is throwing 'egrep: syntax error' Summary: Use a valid egrep expression in the non-SPARC case Reviewed-by: dholmes ! make/common/shared/Defs-solaris.gmk Changeset: 5692ebe15321 Author: erikj Date: 2013-02-04 10:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5692ebe15321 8007268: build-infra: configure reports Solaris needs gcc for deploy, but logs don't indicate it's used. Reviewed-by: tbell, katleman ! make/common/shared/Sanity.gmk Changeset: 3a2630528661 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3a2630528661 Merge Changeset: 933742f4bb4c Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/933742f4bb4c Added tag jdk8-b76 for changeset 3a2630528661 ! .hgtags From john.coomes at oracle.com Thu Feb 7 21:01:16 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Feb 2013 05:01:16 +0000 Subject: hg: hsx/hotspot-rt/langtools: 3 new changesets Message-ID: <20130208050133.0CAB54792B@hg.openjdk.java.net> Changeset: 2d6789a725a4 Author: ohrstrom Date: 2013-01-31 14:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2d6789a725a4 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildLangtools.gmk Changeset: e81839b32337 Author: katleman Date: 2013-02-05 18:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/e81839b32337 Merge Changeset: 6fde20398015 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6fde20398015 Added tag jdk8-b76 for changeset e81839b32337 ! .hgtags From erik.helin at oracle.com Fri Feb 8 00:08:19 2013 From: erik.helin at oracle.com (Erik Helin) Date: Fri, 08 Feb 2013 09:08:19 +0100 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <5113F72E.40602@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> <5113F72E.40602@oracle.com> Message-ID: <5114B273.9060504@oracle.com> On 02/07/2013 07:49 PM, Mandy Chung wrote: > > > On 2/7/2013 4:36 AM, Erik Helin wrote: >> Hi Mandy, >> >> thanks for the review! See comments inline. >> >> On 02/05/2013 09:14 PM, Mandy Chung wrote: >> >>> Looks good. Minor nits: >>> >>> gcCapacityOutput1.awk - should the last column in L7 be removed? >> >> I don't think so, jmap -gccause outputs the GC cause in the last >> column, which sometimes can be "No GC". >> >> Why do you think it should be removed? >> > > This fix changes from 4 columns "PGCMN PGCMX PGC PC" to 3 > columns "MCMN MCMX MC". Line 7 is an example output that I > would think the number of columns is expected to match with line 6. Is > that right? I'm sorry, I misread gcCapacityOutput1.awk as gcCauseOutput1.awk (that is why my answer makes no sense at all). You are completely right, the last column on line 7 should be removed! New webrev located at: http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.05/ On 02/07/2013 07:49 PM, Mandy Chung wrote: >> On 02/05/2013 09:14 PM, Mandy Chung wrote: >>> How are you going to integrate the hotspot and jdk fixes in a >>> synchronized fashion? We shall make sure the TL sun/tools/jstat >>> tests pass at all times. >> >> Thanks for catching this. the tests in tl do passes (I was wrong about >> this). The change will have to be pushed in several steps: >> 1. Add new metaspace counters (and keep the old ones). This will be >> pushed to hotspot-gc. >> 2. Wait for the change to trickle down to tl. >> 3. Update the tests and jstat to use the new metaspace counters. >> 4. Wait for this change to trickle down to hotspot-gc. >> 5. Remove the old metaspace counters and push this to hotspot-gc. >> >> Do you want me to send out an additional webrev for what the hotspot >> code will look like with both the old and new counters? > > Jon may want to review the hotspot code if revised. I only review the > jdk change. > > Thanks for considering doing a 2-phase hotspot change. This kind of > synchronized change is painful. For this specific change, I'm open to > temporarily disable these jstat tests for one integration cycle since > the impact is only in jstat counters and well isolated and that'll ease > the pain. i.e. (1) your hotspot change + add jstat tests in > jdk/test/ProblemList.txt to hotspot-gc and when it's pulled down to TL > (2) your jdk jstats change + remove jstat tests in > jdk/test/ProblemList.txt in TL. > > Just another option for you to consider. No issue from me in either > option. Thanks, this is will at least make the push a little bit easier! I will talk to Alejandro to make sure that jdk/test/ProblemList.txt gets pushed all the way to the tl repository. Thanks, Erik > > Mandy From vicente.romero at oracle.com Fri Feb 8 01:14:07 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:14:07 +0000 Subject: hg: jdk8/tl/langtools: 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Message-ID: <20130208091412.4506D47935@hg.openjdk.java.net> Changeset: 762d0af062f5 Author: vromero Date: 2013-02-08 09:12 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/762d0af062f5 7166455: javac doesn't set ACC_STRICT bit on for strictfp class Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/7166455/CheckACC_STRICTFlagOnclinitTest.java From vicente.romero at oracle.com Fri Feb 8 01:16:56 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:16:56 +0000 Subject: hg: jdk8/tl/langtools: 8005931: javac doesn't set ACC_STRICT for classes with package access Message-ID: <20130208091658.A12BE47936@hg.openjdk.java.net> Changeset: b1deb90d2e37 Author: vromero Date: 2013-02-08 09:15 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b1deb90d2e37 8005931: javac doesn't set ACC_STRICT for classes with package access Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/8005931/CheckACC_STRICTFlagOnPkgAccessClassTest.java From vicente.romero at oracle.com Fri Feb 8 01:22:22 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Fri, 08 Feb 2013 09:22:22 +0000 Subject: hg: jdk8/tl/langtools: 7167125: Two variables after the same operation in a inner class return different results Message-ID: <20130208092224.F166D47937@hg.openjdk.java.net> Changeset: 017e8bdd440f Author: vromero Date: 2013-02-08 09:21 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/017e8bdd440f 7167125: Two variables after the same operation in a inner class return different results Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7167125/DiffResultAfterSameOperationInnerClasses.java From rickard.backman at oracle.com Fri Feb 8 03:41:28 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Fri, 8 Feb 2013 12:41:28 +0100 Subject: RFR: 8006423 SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) In-Reply-To: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> References: <4ACE7799-52E8-45AF-A249-DBC92FC7997E@oracle.com> Message-ID: <390F0A8D-D191-4B8E-B0E7-9E633E00E419@oracle.com> Staffan, the change looks good to me! Thanks for fixing this problem. /R On Jan 17, 2013, at 8:48 PM, Staffan Larsen wrote: > This is a request for review of a fix for SA on OS X. > > webrev: http://cr.openjdk.java.net/~sla/8006423/webrev.00/ > bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006423 > > The bug report contains a detailed description of the problem and the proposed solution. I have copied some of that text below. To verify the fix I have manually run jstack on OS X. > > Thanks, > /Staffan > > > > In many cases when running the SA version of JStack (or other SA tools) an NPE is thrown in BsdThread.getContext(). The underlaying cause is that SA fails to read the context of the thread in the native method getThreadIntegerRegisterSet0() (thread_get_state returns an error). > > The following is my understanding of what the cause is and a suggestion for a fix - my experience with OS X is a bit limited so I may be off on some details. > > thread_get_state() takes a thread_t as a parameter. The value of this parameter comes from SA reading the value of the OSThread._thread_id field in the Hotspot process being debugged. This value is set in HotSpot to ::mach_thread_self() which is documented as "The mach_thread_self system call returns the calling thread's thread port." > > My theory is that this "thread port" in not valid when a different process calls thread_get_state(). Instead, the other process (SA in this case) needs it's own "thread port" for the thread it wants to access. > > There is a way to list all the thread ports in a different process (or "task" as they are called in Mach) via the task_threads() function. > > So now we have the thread ports, we just need to correlate them with the C++ Thread objects in the Hotspot process. One way to do this correlation is via the stack pointer. We can get the current value of the stack pointer (rsp) in SA and look through all the Thread objects to see which one the stack pointer belongs to (by looking at Thread._stack_base and Thread._stack_size). > > Another way seems to be to use the thread_info() function with the THREAD_IDENTIFIER_INFO parameter. This gives us a struct which has a field called thread_id. The comment for this field in the thread_info.h file says "system-wide unique 64-bit thread id". The value for this thread_id is the same when called from Hotspot and when called from the debugging process (SA), so this looks like a way to do the correlation. > > This requires Hotspot to store this value in OSThread and SA to first list all the "thread ports", then find the thread_id for each one and select the right "thread port" for the thread we are looking for. > > Using a thread_id provided by the system seems more reliable than using the stack pointer for correlation. > > From markus.gronlund at oracle.com Fri Feb 8 04:39:48 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Fri, 8 Feb 2013 04:39:48 -0800 (PST) Subject: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method Message-ID: <015eed2d-5d5f-46d7-99d9-16e167499095@default> Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007085 Webrev: http://cr.openjdk.java.net/~mgronlun/8007085/webrev01/ ? Thank you Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130208/97e44b75/attachment.html From staffan.larsen at oracle.com Fri Feb 8 05:13:59 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Fri, 8 Feb 2013 14:13:59 +0100 Subject: RFR(XXS): 8007085: EnableTracing prints garbage for Compilation: [Java Method In-Reply-To: <015eed2d-5d5f-46d7-99d9-16e167499095@default> References: <015eed2d-5d5f-46d7-99d9-16e167499095@default> Message-ID: Looks good! /Staffan On 8 feb 2013, at 13:39, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007085 > Webrev: http://cr.openjdk.java.net/~mgronlun/8007085/webrev01/ > > Thank you > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130208/00cd7fb6/attachment.html From christian.tornqvist at oracle.com Fri Feb 8 05:03:18 2013 From: christian.tornqvist at oracle.com (christian.tornqvist at oracle.com) Date: Fri, 08 Feb 2013 13:03:18 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007434: Write tests for 8006298 Message-ID: <20130208130321.0E7374793A@hg.openjdk.java.net> Changeset: 3a88007634b0 Author: ctornqvi Date: 2013-02-08 10:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3a88007634b0 8007434: Write tests for 8006298 Summary: Four tests written for 8006298 Reviewed-by: mgerdin, coleenp + test/runtime/CommandLine/BooleanFlagWithInvalidValue.java + test/runtime/CommandLine/FlagWithInvalidValue.java + test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java + test/runtime/CommandLine/UnrecognizedVMOption.java From mandy.chung at oracle.com Fri Feb 8 08:17:39 2013 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 08 Feb 2013 08:17:39 -0800 Subject: RFR (S): 8004172: Update jstat counter names to reflect metaspace changes In-Reply-To: <5114B273.9060504@oracle.com> References: <51011221.8050102@oracle.com> <51018414.1000103@oracle.com> <510695D9.5030603@oracle.com> <51069864.30007@oracle.com> <51116827.80100@oracle.com> <51139FB6.4080300@oracle.com> <5113F72E.40602@oracle.com> <5114B273.9060504@oracle.com> Message-ID: <51152523.2030707@oracle.com> On 2/8/2013 12:08 AM, Erik Helin wrote: > > New webrev located at: > http://cr.openjdk.java.net/~ehelin/8004172/jdk/webrev.05/ Thumbs up. Mandy From chris.hegarty at oracle.com Fri Feb 8 08:37:46 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Fri, 08 Feb 2013 16:37:46 +0000 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <51118BEC.7000204@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> Message-ID: <511529DA.3050901@oracle.com> > Jon Gibbons suggested invoking the compiler API directly from java > instead of writing a shell script. Doing this seems fairly simple, and I > think it would be advantageous to keep things entirely in Java. I may > attempt to rewrite the defaultSVID test using the compiler API. Here's a test that does just that. http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java -Chris. From staffan.larsen at oracle.com Fri Feb 8 08:34:39 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 08 Feb 2013 16:34:39 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130208163445.7AFD047943@hg.openjdk.java.net> Changeset: 758935f7c23f Author: sla Date: 2013-02-08 12:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/758935f7c23f 8006423: SA: NullPointerException in sun.jvm.hotspot.debugger.bsd.BsdThread.getContext(BsdThread.java:67) Summary: Do not rely on mach thread port names to identify threads from SA Reviewed-by: dholmes, minqi, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! src/os/bsd/vm/osThread_bsd.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp Changeset: 7194f764221c Author: sla Date: 2013-02-08 14:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7194f764221c Merge From nils.loodin at oracle.com Fri Feb 8 08:40:00 2013 From: nils.loodin at oracle.com (Nils Loodin) Date: Fri, 08 Feb 2013 17:40:00 +0100 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM Message-ID: <51152A60.8000004@oracle.com> Please review the following very small and insignificant change: Basically, I need to access a performance-counter by name from within the JVM. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ Regards, Nils Loodin From naoto.sato at oracle.com Fri Feb 8 09:36:43 2013 From: naoto.sato at oracle.com (naoto.sato at oracle.com) Date: Fri, 08 Feb 2013 17:36:43 +0000 Subject: hg: jdk8/tl/jdk: 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Message-ID: <20130208173718.23C2E4794A@hg.openjdk.java.net> Changeset: 79d7595abe95 Author: naoto Date: 2013-02-08 09:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/79d7595abe95 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java + test/java/util/Calendar/Bug8007038.java From stuart.marks at oracle.com Fri Feb 8 11:50:34 2013 From: stuart.marks at oracle.com (Stuart Marks) Date: Fri, 08 Feb 2013 11:50:34 -0800 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <511529DA.3050901@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> <511529DA.3050901@oracle.com> Message-ID: <5115570A.3010303@oracle.com> On 2/8/13 8:37 AM, Chris Hegarty wrote: >> Jon Gibbons suggested invoking the compiler API directly from java >> instead of writing a shell script. Doing this seems fairly simple, and I >> think it would be advantageous to keep things entirely in Java. I may >> attempt to rewrite the defaultSVID test using the compiler API. > > Here's a test that does just that. > > http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java Oh cool, interesting. This test invokes com.sun.tools.javac.Main.compile() and passes an array of String arguments, just like a command line. It seems pretty effective, at least for this case. But that's not what Jon was talking about. :-) I believe Jon was referring to the offical Java Compiler API (JSR 199) which lives in javax.tools. This API is more fiddly than just passing an array of strings to javac's main, but it's also considerably more flexible. For example, it's possible to use it to call the compiler directly on a String! (I haven't coerced it to compile a String directly to class bytes, but it should be possible to do so in principle.) Anyway, this is good, we should investigate these approaches for a variety of use cases and develop a repertoire of techniques. Eventually we may be able to avoid writing shell script tests entirely. s'marks From daniel.daugherty at oracle.com Fri Feb 8 14:26:49 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Fri, 08 Feb 2013 22:26:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 31 new changesets Message-ID: <20130208222748.95AE14795E@hg.openjdk.java.net> Changeset: 3c327c2b6782 Author: jmasa Date: 2013-01-03 15:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c327c2b6782 8004895: NPG: JMapPermCore test failure caused by warnings about missing field Reviewed-by: johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ef1e11845e18 Author: jmasa Date: 2013-02-04 12:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ef1e11845e18 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 454d7cc622ab Author: dcubed Date: 2013-02-06 15:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/454d7cc622ab Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: fcc9e7681d63 Author: vlivanov Date: 2013-02-01 02:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/fcc9e7681d63 8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/symbol.cpp Changeset: 60bba1398c51 Author: vlivanov Date: 2013-02-01 03:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/60bba1398c51 8005439: no message about inline method if it specifed by CompileCommand Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: e4bb0bda20a4 Author: morris Date: 2013-01-25 16:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/e4bb0bda20a4 8005811: Turn off TierdCompilation in JDK8 trunk for all platforms Summary: Disable tiered compilation in jdk8 because of CodeCache and performance anomalies Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 76341426b645 Author: drchase Date: 2013-01-25 16:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/76341426b645 8006500: compiler/8004741/Test8004741.java fails intermediately Summary: rewrote the test to be more reliable, add test for invalid size exception Reviewed-by: kvn ! test/compiler/8004741/Test8004741.java Changeset: 9fae07c31641 Author: morris Date: 2013-01-25 16:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9fae07c31641 6518907: cleanup IA64 specific code in Hotspot Summary: removed unused IA64 specific code Reviewed-by: twisti, kvn, dholmes ! agent/src/os/linux/LinuxDebuggerLocal.c ! agent/src/os/linux/libproc.h ! agent/src/os/win32/windbg/sawindbg.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 37c18711a0df Author: roland Date: 2013-02-04 09:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/37c18711a0df 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full Summary: missing test for loaded klass in c1 Reviewed-by: kvn ! src/share/vm/c1/c1_Instruction.cpp Changeset: 39901f2f1abe Author: mikael Date: 2013-02-04 10:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/39901f2f1abe 8007403: Incorrect format arguments in adlparse.cpp Reviewed-by: kvn, twisti ! src/share/vm/adlc/adlparse.cpp Changeset: 8bd61471a109 Author: roland Date: 2013-02-04 11:30 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8bd61471a109 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them Summary: wrong detection for dead call sites. Reviewed-by: kvn ! src/share/vm/opto/callGenerator.cpp Changeset: 6a51fc70a15e Author: vlivanov Date: 2013-02-05 08:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6a51fc70a15e 8006613: adding reason to made_not_compilable Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 4fcf990aa34a Author: drchase Date: 2013-02-06 11:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4fcf990aa34a 8006807: C2 crash due to out of bounds array access in Parse::do_multianewarray Summary: check ndimensions before accessing length[i] element Reviewed-by: kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/parse3.cpp Changeset: d05ff4bf41b3 Author: vlivanov Date: 2013-02-07 12:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d05ff4bf41b3 Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp Changeset: db9981fd3124 Author: jprovino Date: 2013-01-23 13:02 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank ! make/bsd/makefiles/minimal1.make ! make/excludeSrc.make ! make/linux/makefiles/minimal1.make ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 8391fdd36e1f Author: dlong Date: 2013-01-27 01:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8391fdd36e1f Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 3c9bc17b9403 Author: bpittore Date: 2013-02-07 16:05 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3c9bc17b9403 Merge ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: df8462fbe585 Author: vladidan Date: 2013-02-07 20:40 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/df8462fbe585 Merge ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ec0c4951286c Author: stefank Date: 2013-01-29 10:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal Summary: When calculating live object regions, make sure that the alignment reserve, at the end of a TLAB, is excluded. Reviewed-by: jmasa, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 4700e77d44c1 Author: johnc Date: 2013-02-01 13:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/4700e77d44c1 8006894: G1: Number of marking threads missing from PrintFlagsFinal output Summary: Set ConcGCThreads to the calculated number of marking threads. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d9058e388631 Author: mikael Date: 2013-02-01 17:21 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d9058e388631 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg Summary: Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd at gmail.com. Reviewed-by: coleenp, sspitsyn ! src/share/vm/memory/metaspace.cpp Changeset: 256d3f43c177 Author: johnc Date: 2013-01-31 10:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/256d3f43c177 8005875: G1: Kitchensink fails with ParallelGCThreads=0 Summary: Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 80518f4ecf32 Author: jmasa Date: 2013-02-04 12:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/80518f4ecf32 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: f2f0cf0f5444 Author: jmasa Date: 2013-02-04 13:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f2f0cf0f5444 Merge Changeset: 06fd03af6ce4 Author: johnc Date: 2013-02-04 13:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/06fd03af6ce4 8001384: G1: assert(!is_null(v)) failed: narrow oop value can never be zero Summary: Flush any deferred card mark before a Java thread exits. Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/thread.cpp Changeset: 84304a77c4e3 Author: johnc Date: 2013-02-04 19:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/84304a77c4e3 Merge Changeset: 95ccff9eee8e Author: jwilhelm Date: 2013-01-28 15:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/95ccff9eee8e 6348447: Specifying -XX:OldSize crashes 64-bit VMs Summary: Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd at gmail.com Reviewed-by: ehelin, jmasa ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp Changeset: f90b9bceb8e5 Author: johnc Date: 2013-02-05 09:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f90b9bceb8e5 8005032: G1: Cleanup serial reference processing closures in concurrent marking Summary: Reuse the parallel reference processing oop closures during serial reference processing. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 50d3b37d5bcd Author: johnc Date: 2013-02-05 22:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/50d3b37d5bcd Merge Changeset: 1135141fb97e Author: brutisso Date: 2013-02-08 10:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1135141fb97e Merge ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 461a3adac4d1 Author: sspitsyn Date: 2013-02-08 09:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/461a3adac4d1 Merge ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp From joe.darcy at oracle.com Fri Feb 8 16:00:41 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Sat, 09 Feb 2013 00:00:41 +0000 Subject: hg: jdk8/tl/jdk: 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Message-ID: <20130209000112.8DE1047963@hg.openjdk.java.net> Changeset: 522fb3867a3a Author: darcy Date: 2013-02-08 16:00 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/522fb3867a3a 8005623: Retrofit FunctionalInterface annotations to core platform interfaces Reviewed-by: mduigou, chegar, alanb ! src/share/classes/java/io/Closeable.java ! src/share/classes/java/io/FileFilter.java ! src/share/classes/java/io/FilenameFilter.java ! src/share/classes/java/io/Flushable.java ! src/share/classes/java/lang/AutoCloseable.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/lang/Readable.java ! src/share/classes/java/lang/Runnable.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/DoubleFunction.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/IntFunction.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/LongFunction.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/java/util/function/Supplier.java ! src/share/classes/java/util/function/UnaryOperator.java ! src/share/classes/java/util/logging/Filter.java ! src/share/classes/java/util/prefs/PreferenceChangeListener.java From zhengyu.gu at oracle.com Fri Feb 8 16:49:49 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Sat, 09 Feb 2013 00:49:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130209004954.C77E947967@hg.openjdk.java.net> Changeset: 8bf62bd86a4e Author: zgu Date: 2013-02-08 14:49 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8bf62bd86a4e 8007791: More Restricted hs_err file permission Summary: Enforce more restricted hs_file permission Reviewed-by: acorn, dcubed, dsamersoff ! src/share/vm/utilities/vmError.cpp Changeset: 1ba5b18088a8 Author: zgu Date: 2013-02-08 14:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1ba5b18088a8 Merge From jonathan.gibbons at oracle.com Fri Feb 8 17:35:27 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Sat, 09 Feb 2013 01:35:27 +0000 Subject: hg: jdk8/tl/langtools: 8007610: javadoc doclint does not work with -private Message-ID: <20130209013533.BE20047968@hg.openjdk.java.net> Changeset: 60caf53b98e2 Author: jjg Date: 2013-02-08 17:35 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/60caf53b98e2 8007610: javadoc doclint does not work with -private Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! test/com/sun/javadoc/T6735320/T6735320.java ! test/tools/javadoc/doclint/DocLintTest.java From david.holmes at oracle.com Fri Feb 8 18:13:09 2013 From: david.holmes at oracle.com (David Holmes) Date: Sat, 09 Feb 2013 12:13:09 +1000 Subject: RFR: JDK-8007804: Need to be able to access Performance counter by name from JVM In-Reply-To: <51152A60.8000004@oracle.com> References: <51152A60.8000004@oracle.com> Message-ID: <5115B0B5.9030004@oracle.com> On 9/02/2013 2:40 AM, Nils Loodin wrote: > Please review the following very small and insignificant change: > Basically, I need to access a performance-counter by name from within > the JVM. The method name by_name seems a little odd to me. find_by_name would seem more consistent (particularly if you consider the strange PerfDataList::by_name method - which compares names) David > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007804 > http://cr.openjdk.java.net/~nloodin/8007804/webrev.00/ > > Regards, > Nils Loodin > > From zhengyu.gu at oracle.com Fri Feb 8 19:19:01 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Sat, 09 Feb 2013 03:19:01 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 3 new changesets Message-ID: <20130209031910.38D7E4796D@hg.openjdk.java.net> Changeset: 41d73c9b30a8 Author: zgu Date: 2013-02-08 16:31 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/41d73c9b30a8 8006691: Remove jvm_version_info.is_kernel_jvm field Summary: Removed is_kernel_jvm from jvm_version_info as Kernel VM has been deprecated Reviewed-by: mchung, coleenp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 3f11b37f047c Author: zgu Date: 2013-02-08 13:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3f11b37f047c Merge Changeset: f989aff6946f Author: zgu Date: 2013-02-08 16:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f989aff6946f Merge From chris.hegarty at oracle.com Sat Feb 9 00:37:27 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Sat, 09 Feb 2013 08:37:27 +0000 Subject: hg: jdk8/tl/jdk: 8005697: Add StampedLock Message-ID: <20130209083747.A8AA847974@hg.openjdk.java.net> Changeset: 36d25dc2b8f0 Author: dl Date: 2013-02-09 08:35 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/36d25dc2b8f0 8005697: Add StampedLock Reviewed-by: chegar, alanb, dice, martin ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/concurrent/locks/LockSupport.java + src/share/classes/java/util/concurrent/locks/StampedLock.java + test/java/util/concurrent/locks/StampedLock/Basic.java From chris.hegarty at oracle.com Sat Feb 9 00:43:05 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Sat, 09 Feb 2013 08:43:05 +0000 Subject: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows In-Reply-To: <5115570A.3010303@oracle.com> References: <50E16BA8.40203@oracle.com> <682D734D-2021-48DE-844D-C55A52D27EBD@oracle.com> <50EAB014.30805@oracle.com> <50EE813A.1020501@oracle.com> <50EEDC23.5080005@oracle.com> <50EF3622.9050500@oracle.com> <511119DA.5060806@oracle.com> <51118BEC.7000204@oracle.com> <511529DA.3050901@oracle.com> <5115570A.3010303@oracle.com> Message-ID: <51160C19.6050208@oracle.com> On 02/08/2013 07:50 PM, Stuart Marks wrote: > On 2/8/13 8:37 AM, Chris Hegarty wrote: >>> Jon Gibbons suggested invoking the compiler API directly from java >>> instead of writing a shell script. Doing this seems fairly simple, and I >>> think it would be advantageous to keep things entirely in Java. I may >>> attempt to rewrite the defaultSVID test using the compiler API. >> >> Here's a test that does just that. >> >> http://hg.openjdk.java.net/jdk8/tl/jdk/file/2de8c6c2d652/test/sun/misc/JarIndex/metaInfFilenames/Basic.java >> > > Oh cool, interesting. > > This test invokes com.sun.tools.javac.Main.compile() and passes an array > of String arguments, just like a command line. It seems pretty > effective, at least for this case. This com.sun API is a supported interface into the compiler. I find it works really well when writing tests, mainly because of it simplicity. I have avoided a number of shell scripts by using it. It should be a reasonable candidate if considering removing a number of shell scripts, that do something trivial, then compile and run. -Chris. > > But that's not what Jon was talking about. :-) > > I believe Jon was referring to the offical Java Compiler API (JSR 199) > which lives in javax.tools. This API is more fiddly than just passing an > array of strings to javac's main, but it's also considerably more > flexible. For example, it's possible to use it to call the compiler > directly on a String! (I haven't coerced it to compile a String directly > to class bytes, but it should be possible to do so in principle.) > > Anyway, this is good, we should investigate these approaches for a > variety of use cases and develop a repertoire of techniques. Eventually > we may be able to avoid writing shell script tests entirely. > > s'marks > > From weijun.wang at oracle.com Sat Feb 9 00:46:40 2013 From: weijun.wang at oracle.com (weijun.wang at oracle.com) Date: Sat, 09 Feb 2013 08:46:40 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130209084703.D7F1447975@hg.openjdk.java.net> Changeset: d14cd2272b2d Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d14cd2272b2d 8001104: Unbound SASL service: the GSSAPI/krb5 mech Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KeyTab.java ! src/share/classes/sun/security/jgss/LoginConfigImpl.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/provider/ConfigSpiFile.java ! test/sun/security/krb5/ServiceCredsCombination.java ! test/sun/security/krb5/auto/AcceptPermissions.java + test/sun/security/krb5/auto/GSSUnbound.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/SaslUnbound.java + test/sun/security/krb5/auto/UnboundService.java Changeset: 57cb988c811e Author: weijun Date: 2013-02-09 16:43 +0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/57cb988c811e 8007761: NTLM coding errors Reviewed-by: chegar ! src/share/classes/com/sun/security/ntlm/Client.java ! src/share/classes/com/sun/security/ntlm/NTLM.java From staffan.larsen at oracle.com Sat Feb 9 11:06:26 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Sat, 9 Feb 2013 20:06:26 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants Message-ID: Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) Thanks, /Staffan From kumar.x.srinivasan at oracle.com Sun Feb 10 08:12:34 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 16:12:34 +0000 Subject: hg: jdk8/tl/jdk: 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Message-ID: <20130210161315.5094947989@hg.openjdk.java.net> Changeset: 58c95d0b6b1a Author: ksrini Date: 2013-02-10 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/58c95d0b6b1a 8007519: [unpack200] produces bad class files when producing BootstrapMethods attribute Reviewed-by: alanb ! test/ProblemList.txt From kumar.x.srinivasan at oracle.com Sun Feb 10 09:02:01 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Sun, 10 Feb 2013 17:02:01 +0000 Subject: hg: jdk8/tl/jdk: 8007902: [unpack200] incorrect BootstrapMethods attribute Message-ID: <20130210170212.F0A6B4798A@hg.openjdk.java.net> Changeset: 520a3433883d Author: ksrini Date: 2013-02-10 08:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/520a3433883d 8007902: [unpack200] incorrect BootstrapMethods attribute Reviewed-by: jjh ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/pack200-verifier/data/golden.jar From fweimer at redhat.com Mon Feb 11 02:28:35 2013 From: fweimer at redhat.com (Florian Weimer) Date: Mon, 11 Feb 2013 11:28:35 +0100 Subject: Official number assignments for JDP (was: Re: [7u] Request for approval for 8002048 - Protocol for discovery of manageable Java processes on a network) In-Reply-To: <511389CE.1080703@oracle.com> References: <5111208D.1000809@oracle.com> <5112779A.8060500@redhat.com> <511389CE.1080703@oracle.com> Message-ID: <5118C7D3.2090903@redhat.com> On 02/07/2013 12:02 PM, Dmitry Samersoff wrote: > Florian, > >> I can submit a request to IANA if you prefer, but I don't know what >> the turn-around time will be. > > Official IANA assignment would benefit everybody and your help is much > appreciated. > > So please submit IANA request. I filled out the port number and multicast forms last week. I've already received a Multicast address, ticket [IANA #656814]: 224.0.23.178 JDP Java Discovery Protocol Also listed under . (The way things work, it's listed under the requestor. But the address is yours.) I was asked to pass on the following comment: "Approved. But please tell them to consider cases where different networks (like many universities around the world) have multicast connectivity, and applications in one network discovering applications in totally unrelated networks." The port number application, ticket [IANA #656816], hasn't been processed yet. I requested registration of port 7095, but I don't know if we'll receive a different number in the end. How should we proceed? Should we wait a bit and change default address and port in one patch? Or do you want to change the default address now and the port number later? -- Florian Weimer / Red Hat Product Security Team From dmitry.samersoff at oracle.com Mon Feb 11 04:04:00 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 11 Feb 2013 16:04:00 +0400 Subject: Official number assignments for JDP In-Reply-To: <5118C7D3.2090903@redhat.com> References: <5111208D.1000809@oracle.com> <5112779A.8060500@redhat.com> <511389CE.1080703@oracle.com> <5118C7D3.2090903@redhat.com> Message-ID: <5118DE30.4080109@oracle.com> Florian, Thank you for doing it. I'll check with client team what is better for them. -Dmitry On 2013-02-11 14:28, Florian Weimer wrote: > On 02/07/2013 12:02 PM, Dmitry Samersoff wrote: >> Florian, >> >>> I can submit a request to IANA if you prefer, but I don't know what >>> the turn-around time will be. >> >> Official IANA assignment would benefit everybody and your help is much >> appreciated. >> >> So please submit IANA request. > > I filled out the port number and multicast forms last week. > > I've already received a Multicast address, ticket [IANA #656814]: > > 224.0.23.178 JDP Java Discovery Protocol > > Also listed under . > (The way things work, it's listed under the requestor. But the address > is yours.) > > I was asked to pass on the following comment: > > "Approved. But please tell them to consider cases where different > networks (like many universities around the world) have multicast > connectivity, and applications in one network discovering > applications in totally unrelated networks." > > The port number application, ticket [IANA #656816], hasn't been > processed yet. I requested registration of port 7095, but I don't know > if we'll receive a different number in the end. > > How should we proceed? Should we wait a bit and change default address > and port in one patch? Or do you want to change the default address now > and the port number later? > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Mon Feb 11 04:45:09 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Mon, 11 Feb 2013 16:45:09 +0400 Subject: RR (S): 8007786 JDK-8002048 testcase doesn't work on Solaris Message-ID: <5118E7D5.9020309@oracle.com> Hi Everybody, Please review a test bug: Summary: Built in test function of Solaris /bin/sh doesn't have -e operator and doesn't allow a variable and a function with the same name. Webrev: http://cr.openjdk.java.net/~dsamersoff/8007786.JDP-TEST2/webrev.01/jdk/ -Dmitry -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Mon Feb 11 06:49:43 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Mon, 11 Feb 2013 14:49:43 +0000 Subject: hg: jdk8/tl/jdk: 8007536: Incorrect copyright header in JDP files Message-ID: <20130211145005.0B2B4479A4@hg.openjdk.java.net> Changeset: 1df991184045 Author: dsamersoff Date: 2013-02-11 18:44 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df991184045 8007536: Incorrect copyright header in JDP files Summary: Copyright header in JDP files missed the "classpath exception" rule. Reviewed-by: mikael ! src/share/classes/sun/management/jdp/JdpBroadcaster.java ! src/share/classes/sun/management/jdp/JdpController.java ! src/share/classes/sun/management/jdp/JdpException.java ! src/share/classes/sun/management/jdp/JdpGenericPacket.java ! src/share/classes/sun/management/jdp/JdpJmxPacket.java ! src/share/classes/sun/management/jdp/JdpPacket.java ! src/share/classes/sun/management/jdp/JdpPacketReader.java ! src/share/classes/sun/management/jdp/JdpPacketWriter.java ! src/share/classes/sun/management/jdp/package-info.java From daniel.daugherty at oracle.com Mon Feb 11 07:05:50 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 08:05:50 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <5112B823.4040502@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> Message-ID: <511908CE.7040706@oracle.com> Greetings, I've revised one of the tests to make it more portable based on JPRT test results for the Code Review Round 1 version. Here is the URL for the webrev for Code Review Round 2: http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ Summary of the changes: - RedefineSubclassWithTwoInterfaces.sh - strip leading white space from 'wc -l' output for portable case statement check of "$cnt". - add missing ';;' for default cases (style only) Diffs are below since the webrev above is relative to JDK8-T&L and everything is "new". Dan $ diff test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} 136c136 < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` --- > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed 's/^ *//'` 145a146 > ;; 149c150 < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` --- > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed 's/^ *//'` 158a160 > ;; On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: > Greetings, > > I've revised the tests based on Coleen's and Serguei's feedback > in Code Review Round 0. > > Here is the URL for the webrev for Code Review Round 1: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ > > Summary of the changes: > > - RedefineAbstractClass.sh - cleaned up the header comment > - RedefineAbstractClass.sh > - more clear description of what's being tested > - add comments describing what the guarantee failure looks like > - add checks for proper pre-RedefineClasses output > - add checks for proper post-RedefineClasses output > - RedefineSubclassWithTwoInterfacesApp.java > - RedefineSubclassWithTwoInterfacesRemote.java > - refactor the test app's echo() method call into echo1() and > echo2() so it is easier to check for the failure mode > - RedefineSubclassWithTwoInterfacesImpl.java > - RedefineSubclassWithTwoInterfacesImpl_1.java > - add comment to explain why these sources are identical > > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > Here are diffs (ignoring whitespace) to make it clear what has > changed between Code Review Round 0 and Code Review Round 1: > > > $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} > 31a32 > > # @author Daniel D. Daugherty > > > $ diff -w > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} > 26c26,27 > < # @summary Redefining a subclass that implements two interfaces is > broken. > --- > > # @summary Redefine a subclass that implements two interfaces and > > # verify that the right methods are called. > 101a103,104 > > > > echo "INFO: " > 102a106,107 > > echo "INFO: " > > > 108,112c113,127 > < MESG="guarantee" > < grep "$MESG" output.log > < result=$? > < if [ "$result" = 0 ]; then > < echo "FAIL: found '$MESG' in the test output" > --- > > # When this bug manifests, RedefineClasses() will fail to update > > # one of the itable entries to refer to the new method. The log > > # will include the following line when the bug occurs: > > # > > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found > > # > > # If this guarantee happens, the test should fail in the status > > # check above, but just in case it doesn't, we check for "guarantee". > > # > > > > FAIL_MESG="guarantee" > > grep "$FAIL_MESG" output.log > > status=$? > > if [ "$status" = 0 ]; then > > echo "FAIL: found '$FAIL_MESG' in the test output." > 115c130,131 > < echo "PASS: did NOT find '$MESG' in the test output" > --- > > echo "INFO: did NOT find '$FAIL_MESG' in the test output." > > # be optimistic here > 118a135,164 > > PASS1_MESG="before any redefines" > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." > > echo "INFO: grep '$PASS1_MESG' output:" > > grep "$PASS1_MESG" output.log > > result=1 > > esac > > > > PASS2_MESG="after redefine" > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > > case "$cnt" in > > 2) > > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." > > ;; > > *) > > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." > > echo "INFO: grep '$PASS2_MESG' output:" > > grep "$PASS2_MESG" output.log > > result=1 > > esac > > > > if [ "$result" = 0 ]; then > > echo "PASS: test passed both positive and negative output checks." > > fi > > > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} > 43,45c43,45 > < // make an echo() call before any redefinitions: > < mesg = remote.echo("test message #0"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > --- > > // make echo() calls before any redefinitions: > > mesg = remote.echo1("test message #1.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > 46a47,49 > > mesg = remote.echo2("test message #2.1"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' before any redefines"); > 54,56c57,62 > < mesg = remote.echo("test message #1"); > < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" > < + mesg + "' after redefine #1"); > --- > > mesg = remote.echo1("test message #1.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='" > > + mesg + "' after redefine"); > > mesg = remote.echo2("test message #2.2"); > > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='" > > + mesg + "' after redefine"); > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} > 23a24,27 > > // Reproducing this bug only requires an EMCP version of the > > // RedefineSubclassWithTwoInterfacesImpl class so > > // RedefineSubclassWithTwoInterfacesImpl.java and > > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. > > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} > 40,41c40,41 > < public String echo(String s) { > < return "intf1<" + intf1.echo(s) + "> intf2< " + > intf2.echo(s) + ">"; > --- > > public String echo1(String s) { > > return "intf1<" + intf1.echo(s) + ">"; > 42a43,46 > > > > public String echo2(String s) { > > return "intf2<" + intf2.echo(s) + ">"; > > } > > > On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >> And here is the webrev for the new tests (relative to JDK8-T&L): >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>> > There are two new tests that will be pushed to the JDK repos using >>> > a different bug ID (not yet filed): >>> >>> New bug is now filed: >>> >>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>> to java/lang/instrument >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>> >>> Of course, the tests cannot be pushed until the HSX changes have made >>> it into a promoted build and thus available to JDK8-T&L. >>> >>> Dan >>> >>> >>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I have a fix for the following JVM/TI bug: >>>> >>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>> >>>> The fix for the bug in the product code is one line: >>>> >>>> src/share/vm/oops/klassVtable.cpp: >>>> >>>> @@ -992,18 +1020,50 @@ >>>> // RC_TRACE macro has an embedded ResourceMark >>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>> new_method->name()->as_C_string(), >>>> new_method->signature()->as_C_string())); >>>> } >>>> - break; >>>> + // cannot 'break' here; see for-loop comment above. >>>> } >>>> ime++; >>>> } >>>> } >>>> } >>>> >>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>> >>>> The rest of the code in the webrevs are: >>>> >>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>> changeset >>>> - additional JVM/TI tracing code added by me and forward ported to >>>> HSX-25 >>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>> elusive old or obsolete methods >>>> - exposure of some printing code to the PRODUCT build so that the new >>>> tracing is available in a PRODUCT build >>>> >>>> You might be wondering why the new tracing code is exposed in a >>>> PRODUCT >>>> build. Well, it appears that more and more PRODUCT bits deployments >>>> are >>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at run-time >>>> to instrument their systems. This bug (7182152) was only >>>> intermittently >>>> reproducible in the WLS environment in which it occurred so I made the >>>> tracing available in a PRODUCT build to assist in the hunt. >>>> >>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>> fix resolves the issue in his environment. Thanks Raj! >>>> >>>> Here are the URLs for the three webrevs: >>>> >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>> >>>> I have run the following test suites from the JPDA stack on the >>>> JDK7u10/HSX-23.6 version of the fix with >>>> -XX:TraceRedefineClasses=16384 >>>> specified: >>>> >>>> sdk-jdi >>>> sdk-jdi_closed >>>> sdk-jli >>>> vm-heapdump >>>> vm-hprof >>>> vm-jdb >>>> vm-jdi >>>> vm-jdwp >>>> vm-jvmti >>>> vm-sajdi >>>> >>>> The tested configs are: >>>> >>>> {Solaris-X86, WinXP} >>>> X {Client VM, Server VM} >>>> X {-Xmixed, -Xcomp} >>>> X {product, fastdebug} >>>> >>>> With the 1-liner fix in place, the new tracing code does not find any >>>> instances of this failure mode in any of the above test suites. >>>> Without >>>> the the 1-liner fix in place, the new tracing code finds one instance >>>> of this failure mode in the above test suites: >>>> >>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>> >>>> There are two new tests that will be pushed to the JDK repos using >>>> a different bug ID (not yet filed): >>>> >>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>> >>>> There will be a separate review request for the new tests. >>>> >>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>> take all weekend to complete. >>>> >>>> Thanks, in advance, for any comments and/or suggestions. >>>> >>>> Dan >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > From coleen.phillimore at oracle.com Mon Feb 11 07:34:55 2013 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Mon, 11 Feb 2013 10:34:55 -0500 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51190F9F.2060700@oracle.com> Looks good, although I was surprised you don't need -e. Coleen On 02/11/2013 10:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 07:41:32 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 08:41:32 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51190F9F.2060700@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51190F9F.2060700@oracle.com> Message-ID: <5119112C.7000507@oracle.com> On 2/11/13 8:34 AM, Coleen Phillimore wrote: > > Looks good, although I was surprised you don't need -e. Thanks for the review! If you only have a single edit cmd, then '-e' is not needed. Dan > > Coleen > > On 02/11/2013 10:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From serguei.spitsyn at oracle.com Mon Feb 11 09:28:46 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 11 Feb 2013 09:28:46 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51192A4E.6040903@oracle.com> Looks good. Thanks, Serguei On 2/11/13 7:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 09:30:28 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 10:30:28 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51192A4E.6040903@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51192A4E.6040903@oracle.com> Message-ID: <51192AB4.4040301@oracle.com> Thanks for another re-review! Dan On 2/11/13 10:28 AM, serguei.spitsyn at oracle.com wrote: > Looks good. > > Thanks, > Serguei > > On 2/11/13 7:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From daniel.daugherty at oracle.com Mon Feb 11 10:09:01 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Mon, 11 Feb 2013 18:09:01 +0000 Subject: hg: jdk8/tl/jdk: 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Message-ID: <20130211180922.66431479AA@hg.openjdk.java.net> Changeset: abd530253f01 Author: dcubed Date: 2013-02-11 10:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/abd530253f01 8007420: add test for 6805864 to com/sun/jdi, add test for 7182152 to java/lang/instrument Reviewed-by: coleenp, sspitsyn + test/com/sun/jdi/RedefineAbstractClass.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesAgent.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf1.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesIntf2.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget.java + test/java/lang/instrument/RedefineSubclassWithTwoInterfacesTarget_1.java From mikael.vidstedt at oracle.com Mon Feb 11 10:45:33 2013 From: mikael.vidstedt at oracle.com (Mikael Vidstedt) Date: Mon, 11 Feb 2013 10:45:33 -0800 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: References: Message-ID: <51193C4D.5090809@oracle.com> Nasty, so normally the code picks up the value from the VMIntConstant vmstructs array which is the hardcoded default value, but with this fix it's picked up from the command line options database which reflects the actual current value. That makes sense and looks good. Cheers, Mikael On 2013-02-09 11:06, Staffan Larsen wrote: > Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. > > webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) > > Thanks, > /Staffan From staffan.larsen at oracle.com Mon Feb 11 10:53:19 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 11 Feb 2013 19:53:19 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <51193C4D.5090809@oracle.com> References: <51193C4D.5090809@oracle.com> Message-ID: Yes, you got it right. Thanks, /Staffan On 11 feb 2013, at 19:45, Mikael Vidstedt wrote: > > Nasty, so normally the code picks up the value from the VMIntConstant vmstructs array which is the hardcoded default value, but with this fix it's picked up from the command line options database which reflects the actual current value. That makes sense and looks good. > > Cheers, > Mikael > > On 2013-02-09 11:06, Staffan Larsen wrote: >> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >> >> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >> >> Thanks, >> /Staffan > From alan.bateman at oracle.com Mon Feb 11 12:20:15 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 11 Feb 2013 20:20:15 +0000 Subject: hg: jdk8/tl/jdk: 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Message-ID: <20130211202037.63AC7479B1@hg.openjdk.java.net> Changeset: f21a4b761424 Author: alanb Date: 2013-02-11 20:16 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f21a4b761424 8007405: Update java.lang.reflect API to replace SYNTHESIZED with MANDATED Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Parameter.java From coleen.phillimore at oracle.com Mon Feb 11 13:30:23 2013 From: coleen.phillimore at oracle.com (coleen.phillimore at oracle.com) Date: Mon, 11 Feb 2013 21:30:23 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007320: NPG: move method annotations Message-ID: <20130211213029.AB49B479B5@hg.openjdk.java.net> Changeset: 927a311d00f9 Author: coleenp Date: 2013-02-11 14:06 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/927a311d00f9 8007320: NPG: move method annotations Summary: allocate method annotations and attach to ConstMethod if present Reviewed-by: dcubed, jiangli, sspitsyn, iklam ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/vmStructs.cpp + test/runtime/8007320/ConstMethodTest.java From joe.darcy at oracle.com Mon Feb 11 13:37:55 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Mon, 11 Feb 2013 21:37:55 +0000 Subject: hg: jdk8/tl/langtools: 8007574: Provide isFunctionalInterface in javax.lang.model Message-ID: <20130211213800.20C09479B7@hg.openjdk.java.net> Changeset: 01af1b5c631d Author: darcy Date: 2013-02-11 13:37 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/01af1b5c631d 8007574: Provide isFunctionalInterface in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/util/Elements.java + test/tools/javac/processing/model/util/elements/TestIsFunctionalInterface.java From david.holmes at oracle.com Mon Feb 11 16:20:51 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 12 Feb 2013 10:20:51 +1000 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: References: Message-ID: <51198AE3.5040706@oracle.com> On 10/02/2013 5:06 AM, Staffan Larsen wrote: > Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? Also we need a regression test for this as obviously it ain't being tested! :( Thanks, David > webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) > > Thanks, > /Staffan > From daniel.daugherty at oracle.com Mon Feb 11 16:41:30 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 17:41:30 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511908CE.7040706@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> Message-ID: <51198FBA.5090409@oracle.com> Greetings, Right after I pushed the changeset for 8007420, Alan B let me know that he had updated the JLI/JPLIS test infrastructure to support running the tests with a JRE instead of a JDK. Alan made his changes in early January, but I had developed this test back in December. I never checked to see if the test on which I based my new test had changed. Sigh... I filed a new bug to update the new test. Here is the webrev URL: http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ As always, comments and suggestions are welcome. Dan On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: > Greetings, > > I've revised one of the tests to make it more portable based > on JPRT test results for the Code Review Round 1 version. > > Here is the URL for the webrev for Code Review Round 2: > > http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ > > Summary of the changes: > > - RedefineSubclassWithTwoInterfaces.sh > - strip leading white space from 'wc -l' output for portable > case statement check of "$cnt". > - add missing ';;' for default cases (style only) > > Diffs are below since the webrev above is relative to JDK8-T&L > and everything is "new". > > Dan > > $ diff > test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} > 136c136 > < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` > --- > > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed > 's/^ *//'` > 145a146 > > ;; > 149c150 > < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` > --- > > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed > 's/^ *//'` > 158a160 > > ;; > > > > On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised the tests based on Coleen's and Serguei's feedback >> in Code Review Round 0. >> >> Here is the URL for the webrev for Code Review Round 1: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineAbstractClass.sh - cleaned up the header comment >> - RedefineAbstractClass.sh >> - more clear description of what's being tested >> - add comments describing what the guarantee failure looks like >> - add checks for proper pre-RedefineClasses output >> - add checks for proper post-RedefineClasses output >> - RedefineSubclassWithTwoInterfacesApp.java >> - RedefineSubclassWithTwoInterfacesRemote.java >> - refactor the test app's echo() method call into echo1() and >> echo2() so it is easier to check for the failure mode >> - RedefineSubclassWithTwoInterfacesImpl.java >> - RedefineSubclassWithTwoInterfacesImpl_1.java >> - add comment to explain why these sources are identical >> >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> Here are diffs (ignoring whitespace) to make it clear what has >> changed between Code Review Round 0 and Code Review Round 1: >> >> >> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >> 31a32 >> > # @author Daniel D. Daugherty >> >> >> $ diff -w >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >> 26c26,27 >> < # @summary Redefining a subclass that implements two interfaces is >> broken. >> --- >> > # @summary Redefine a subclass that implements two interfaces and >> > # verify that the right methods are called. >> 101a103,104 >> > >> > echo "INFO: " >> 102a106,107 >> > echo "INFO: " >> > >> 108,112c113,127 >> < MESG="guarantee" >> < grep "$MESG" output.log >> < result=$? >> < if [ "$result" = 0 ]; then >> < echo "FAIL: found '$MESG' in the test output" >> --- >> > # When this bug manifests, RedefineClasses() will fail to update >> > # one of the itable entries to refer to the new method. The log >> > # will include the following line when the bug occurs: >> > # >> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >> > # >> > # If this guarantee happens, the test should fail in the status >> > # check above, but just in case it doesn't, we check for "guarantee". >> > # >> > >> > FAIL_MESG="guarantee" >> > grep "$FAIL_MESG" output.log >> > status=$? >> > if [ "$status" = 0 ]; then >> > echo "FAIL: found '$FAIL_MESG' in the test output." >> 115c130,131 >> < echo "PASS: did NOT find '$MESG' in the test output" >> --- >> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >> > # be optimistic here >> 118a135,164 >> > PASS1_MESG="before any redefines" >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >> > echo "INFO: grep '$PASS1_MESG' output:" >> > grep "$PASS1_MESG" output.log >> > result=1 >> > esac >> > >> > PASS2_MESG="after redefine" >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> > case "$cnt" in >> > 2) >> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >> > ;; >> > *) >> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >> > echo "INFO: grep '$PASS2_MESG' output:" >> > grep "$PASS2_MESG" output.log >> > result=1 >> > esac >> > >> > if [ "$result" = 0 ]; then >> > echo "PASS: test passed both positive and negative output checks." >> > fi >> > >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >> 43,45c43,45 >> < // make an echo() call before any redefinitions: >> < mesg = remote.echo("test message #0"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> --- >> > // make echo() calls before any redefinitions: >> > mesg = remote.echo1("test message #1.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> 46a47,49 >> > mesg = remote.echo2("test message #2.1"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' before any redefines"); >> 54,56c57,62 >> < mesg = remote.echo("test message #1"); >> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >> < + mesg + "' after redefine #1"); >> --- >> > mesg = remote.echo1("test message #1.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >> mesg='" >> > + mesg + "' after redefine"); >> > mesg = remote.echo2("test message #2.2"); >> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >> mesg='" >> > + mesg + "' after redefine"); >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >> 23a24,27 >> > // Reproducing this bug only requires an EMCP version of the >> > // RedefineSubclassWithTwoInterfacesImpl class so >> > // RedefineSubclassWithTwoInterfacesImpl.java and >> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >> >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >> 40,41c40,41 >> < public String echo(String s) { >> < return "intf1<" + intf1.echo(s) + "> intf2< " + >> intf2.echo(s) + ">"; >> --- >> > public String echo1(String s) { >> > return "intf1<" + intf1.echo(s) + ">"; >> 42a43,46 >> > >> > public String echo2(String s) { >> > return "intf2<" + intf2.echo(s) + ">"; >> > } >> >> >> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>> And here is the webrev for the new tests (relative to JDK8-T&L): >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>> >>> As always, comments and suggestions are welcome. >>> >>> Dan >>> >>> >>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>> > There are two new tests that will be pushed to the JDK repos using >>>> > a different bug ID (not yet filed): >>>> >>>> New bug is now filed: >>>> >>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>> to java/lang/instrument >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>> >>>> Of course, the tests cannot be pushed until the HSX changes have made >>>> it into a promoted build and thus available to JDK8-T&L. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>> Greetings, >>>>> >>>>> I have a fix for the following JVM/TI bug: >>>>> >>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>> >>>>> The fix for the bug in the product code is one line: >>>>> >>>>> src/share/vm/oops/klassVtable.cpp: >>>>> >>>>> @@ -992,18 +1020,50 @@ >>>>> // RC_TRACE macro has an embedded ResourceMark >>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>> new_method->name()->as_C_string(), >>>>> new_method->signature()->as_C_string())); >>>>> } >>>>> - break; >>>>> + // cannot 'break' here; see for-loop comment above. >>>>> } >>>>> ime++; >>>>> } >>>>> } >>>>> } >>>>> >>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>> >>>>> The rest of the code in the webrevs are: >>>>> >>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>> changeset >>>>> - additional JVM/TI tracing code added by me and forward ported to >>>>> HSX-25 >>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>> elusive old or obsolete methods >>>>> - exposure of some printing code to the PRODUCT build so that the new >>>>> tracing is available in a PRODUCT build >>>>> >>>>> You might be wondering why the new tracing code is exposed in a >>>>> PRODUCT >>>>> build. Well, it appears that more and more PRODUCT bits >>>>> deployments are >>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>> run-time >>>>> to instrument their systems. This bug (7182152) was only >>>>> intermittently >>>>> reproducible in the WLS environment in which it occurred so I made >>>>> the >>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>> >>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>> fix resolves the issue in his environment. Thanks Raj! >>>>> >>>>> Here are the URLs for the three webrevs: >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>> >>>>> I have run the following test suites from the JPDA stack on the >>>>> JDK7u10/HSX-23.6 version of the fix with >>>>> -XX:TraceRedefineClasses=16384 >>>>> specified: >>>>> >>>>> sdk-jdi >>>>> sdk-jdi_closed >>>>> sdk-jli >>>>> vm-heapdump >>>>> vm-hprof >>>>> vm-jdb >>>>> vm-jdi >>>>> vm-jdwp >>>>> vm-jvmti >>>>> vm-sajdi >>>>> >>>>> The tested configs are: >>>>> >>>>> {Solaris-X86, WinXP} >>>>> X {Client VM, Server VM} >>>>> X {-Xmixed, -Xcomp} >>>>> X {product, fastdebug} >>>>> >>>>> With the 1-liner fix in place, the new tracing code does not find any >>>>> instances of this failure mode in any of the above test suites. >>>>> Without >>>>> the the 1-liner fix in place, the new tracing code finds one instance >>>>> of this failure mode in the above test suites: >>>>> >>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>> >>>>> There are two new tests that will be pushed to the JDK repos using >>>>> a different bug ID (not yet filed): >>>>> >>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>> >>>>> There will be a separate review request for the new tests. >>>>> >>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>> take all weekend to complete. >>>>> >>>>> Thanks, in advance, for any comments and/or suggestions. >>>>> >>>>> Dan >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > > > From serguei.spitsyn at oracle.com Mon Feb 11 17:14:40 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 11 Feb 2013 17:14:40 -0800 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51198FBA.5090409@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> Message-ID: <51199780.3050804@oracle.com> This looks good. BTW, the bug report links in the webrev are not resolved. It was not a big problem for me, just wanted to let you know. Thanks, Serguei On 2/11/13 4:41 PM, Daniel D. Daugherty wrote: > Greetings, > > Right after I pushed the changeset for 8007420, Alan B let me know that > he had updated the JLI/JPLIS test infrastructure to support running the > tests with a JRE instead of a JDK. Alan made his changes in early > January, > but I had developed this test back in December. I never checked to see > if the test on which I based my new test had changed. Sigh... > > I filed a new bug to update the new test. Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan > > > > On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: >> Greetings, >> >> I've revised one of the tests to make it more portable based >> on JPRT test results for the Code Review Round 1 version. >> >> Here is the URL for the webrev for Code Review Round 2: >> >> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >> >> Summary of the changes: >> >> - RedefineSubclassWithTwoInterfaces.sh >> - strip leading white space from 'wc -l' output for portable >> case statement check of "$cnt". >> - add missing ';;' for default cases (style only) >> >> Diffs are below since the webrev above is relative to JDK8-T&L >> and everything is "new". >> >> Dan >> >> $ diff >> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >> 136c136 >> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >> --- >> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | sed >> 's/^ *//'` >> 145a146 >> > ;; >> 149c150 >> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >> --- >> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | sed >> 's/^ *//'` >> 158a160 >> > ;; >> >> >> >> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised the tests based on Coleen's and Serguei's feedback >>> in Code Review Round 0. >>> >>> Here is the URL for the webrev for Code Review Round 1: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineAbstractClass.sh - cleaned up the header comment >>> - RedefineAbstractClass.sh >>> - more clear description of what's being tested >>> - add comments describing what the guarantee failure looks like >>> - add checks for proper pre-RedefineClasses output >>> - add checks for proper post-RedefineClasses output >>> - RedefineSubclassWithTwoInterfacesApp.java >>> - RedefineSubclassWithTwoInterfacesRemote.java >>> - refactor the test app's echo() method call into echo1() and >>> echo2() so it is easier to check for the failure mode >>> - RedefineSubclassWithTwoInterfacesImpl.java >>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>> - add comment to explain why these sources are identical >>> >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> Here are diffs (ignoring whitespace) to make it clear what has >>> changed between Code Review Round 0 and Code Review Round 1: >>> >>> >>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>> 31a32 >>> > # @author Daniel D. Daugherty >>> >>> >>> $ diff -w >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>> 26c26,27 >>> < # @summary Redefining a subclass that implements two interfaces is >>> broken. >>> --- >>> > # @summary Redefine a subclass that implements two interfaces and >>> > # verify that the right methods are called. >>> 101a103,104 >>> > >>> > echo "INFO: " >>> 102a106,107 >>> > echo "INFO: " >>> > >>> 108,112c113,127 >>> < MESG="guarantee" >>> < grep "$MESG" output.log >>> < result=$? >>> < if [ "$result" = 0 ]; then >>> < echo "FAIL: found '$MESG' in the test output" >>> --- >>> > # When this bug manifests, RedefineClasses() will fail to update >>> > # one of the itable entries to refer to the new method. The log >>> > # will include the following line when the bug occurs: >>> > # >>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>> > # >>> > # If this guarantee happens, the test should fail in the status >>> > # check above, but just in case it doesn't, we check for "guarantee". >>> > # >>> > >>> > FAIL_MESG="guarantee" >>> > grep "$FAIL_MESG" output.log >>> > status=$? >>> > if [ "$status" = 0 ]; then >>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>> 115c130,131 >>> < echo "PASS: did NOT find '$MESG' in the test output" >>> --- >>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>> > # be optimistic here >>> 118a135,164 >>> > PASS1_MESG="before any redefines" >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>> > echo "INFO: grep '$PASS1_MESG' output:" >>> > grep "$PASS1_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > PASS2_MESG="after redefine" >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> > case "$cnt" in >>> > 2) >>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>> > ;; >>> > *) >>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>> > echo "INFO: grep '$PASS2_MESG' output:" >>> > grep "$PASS2_MESG" output.log >>> > result=1 >>> > esac >>> > >>> > if [ "$result" = 0 ]; then >>> > echo "PASS: test passed both positive and negative output >>> checks." >>> > fi >>> > >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>> 43,45c43,45 >>> < // make an echo() call before any redefinitions: >>> < mesg = remote.echo("test message #0"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> --- >>> > // make echo() calls before any redefinitions: >>> > mesg = remote.echo1("test message #1.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> 46a47,49 >>> > mesg = remote.echo2("test message #2.1"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' before any redefines"); >>> 54,56c57,62 >>> < mesg = remote.echo("test message #1"); >>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>> < + mesg + "' after redefine #1"); >>> --- >>> > mesg = remote.echo1("test message #1.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>> mesg='" >>> > + mesg + "' after redefine"); >>> > mesg = remote.echo2("test message #2.2"); >>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>> mesg='" >>> > + mesg + "' after redefine"); >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>> 23a24,27 >>> > // Reproducing this bug only requires an EMCP version of the >>> > // RedefineSubclassWithTwoInterfacesImpl class so >>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>> >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>> 40,41c40,41 >>> < public String echo(String s) { >>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>> intf2.echo(s) + ">"; >>> --- >>> > public String echo1(String s) { >>> > return "intf1<" + intf1.echo(s) + ">"; >>> 42a43,46 >>> > >>> > public String echo2(String s) { >>> > return "intf2<" + intf2.echo(s) + ">"; >>> > } >>> >>> >>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>> >>>> As always, comments and suggestions are welcome. >>>> >>>> Dan >>>> >>>> >>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>> > There are two new tests that will be pushed to the JDK repos using >>>>> > a different bug ID (not yet filed): >>>>> >>>>> New bug is now filed: >>>>> >>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for 7182152 >>>>> to java/lang/instrument >>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>> >>>>> Of course, the tests cannot be pushed until the HSX changes have made >>>>> it into a promoted build and thus available to JDK8-T&L. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>> Greetings, >>>>>> >>>>>> I have a fix for the following JVM/TI bug: >>>>>> >>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>> >>>>>> The fix for the bug in the product code is one line: >>>>>> >>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>> >>>>>> @@ -992,18 +1020,50 @@ >>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>> new_method->name()->as_C_string(), >>>>>> new_method->signature()->as_C_string())); >>>>>> } >>>>>> - break; >>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>> } >>>>>> ime++; >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>> >>>>>> The rest of the code in the webrevs are: >>>>>> >>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>> changeset >>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>> to HSX-25 >>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>> elusive old or obsolete methods >>>>>> - exposure of some printing code to the PRODUCT build so that the >>>>>> new >>>>>> tracing is available in a PRODUCT build >>>>>> >>>>>> You might be wondering why the new tracing code is exposed in a >>>>>> PRODUCT >>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>> deployments are >>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>> run-time >>>>>> to instrument their systems. This bug (7182152) was only >>>>>> intermittently >>>>>> reproducible in the WLS environment in which it occurred so I >>>>>> made the >>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>> >>>>>> Raj from the WLS team has also verified that the HSX-23.6 version of >>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>> >>>>>> Here are the URLs for the three webrevs: >>>>>> >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>> >>>>>> I have run the following test suites from the JPDA stack on the >>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>> -XX:TraceRedefineClasses=16384 >>>>>> specified: >>>>>> >>>>>> sdk-jdi >>>>>> sdk-jdi_closed >>>>>> sdk-jli >>>>>> vm-heapdump >>>>>> vm-hprof >>>>>> vm-jdb >>>>>> vm-jdi >>>>>> vm-jdwp >>>>>> vm-jvmti >>>>>> vm-sajdi >>>>>> >>>>>> The tested configs are: >>>>>> >>>>>> {Solaris-X86, WinXP} >>>>>> X {Client VM, Server VM} >>>>>> X {-Xmixed, -Xcomp} >>>>>> X {product, fastdebug} >>>>>> >>>>>> With the 1-liner fix in place, the new tracing code does not find >>>>>> any >>>>>> instances of this failure mode in any of the above test suites. >>>>>> Without >>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>> instance >>>>>> of this failure mode in the above test suites: >>>>>> >>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>> >>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>> a different bug ID (not yet filed): >>>>>> >>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>> >>>>>> There will be a separate review request for the new tests. >>>>>> >>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>> take all weekend to complete. >>>>>> >>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> > From daniel.daugherty at oracle.com Mon Feb 11 17:22:57 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 11 Feb 2013 18:22:57 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51199780.3050804@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> <51199780.3050804@oracle.com> Message-ID: <51199971.9070408@oracle.com> Serguei, Thanks for the fast review! I fixed the broken JBS link, but I can't do anything about getting the bugs.sun.com entry out any faster. Sigh... Dan On 2/11/13 6:14 PM, serguei.spitsyn at oracle.com wrote: > This looks good. > > BTW, the bug report links in the webrev are not resolved. > It was not a big problem for me, just wanted to let you know. > > Thanks, > Serguei > > > On 2/11/13 4:41 PM, Daniel D. Daugherty wrote: >> Greetings, >> >> Right after I pushed the changeset for 8007420, Alan B let me know that >> he had updated the JLI/JPLIS test infrastructure to support running the >> tests with a JRE instead of a JDK. Alan made his changes in early >> January, >> but I had developed this test back in December. I never checked to see >> if the test on which I based my new test had changed. Sigh... >> >> I filed a new bug to update the new test. Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan >> >> >> >> On 2/11/13 8:05 AM, Daniel D. Daugherty wrote: >>> Greetings, >>> >>> I've revised one of the tests to make it more portable based >>> on JPRT test results for the Code Review Round 1 version. >>> >>> Here is the URL for the webrev for Code Review Round 2: >>> >>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/2-jdk8-tl/ >>> >>> Summary of the changes: >>> >>> - RedefineSubclassWithTwoInterfaces.sh >>> - strip leading white space from 'wc -l' output for portable >>> case statement check of "$cnt". >>> - add missing ';;' for default cases (style only) >>> >>> Diffs are below since the webrev above is relative to JDK8-T&L >>> and everything is "new". >>> >>> Dan >>> >>> $ diff >>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr1,} >>> 136c136 >>> < cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>> --- >>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l | >>> sed 's/^ *//'` >>> 145a146 >>> > ;; >>> 149c150 >>> < cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>> --- >>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l | >>> sed 's/^ *//'` >>> 158a160 >>> > ;; >>> >>> >>> >>> On 2/6/13 1:08 PM, Daniel D. Daugherty wrote: >>>> Greetings, >>>> >>>> I've revised the tests based on Coleen's and Serguei's feedback >>>> in Code Review Round 0. >>>> >>>> Here is the URL for the webrev for Code Review Round 1: >>>> >>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/ >>>> >>>> Summary of the changes: >>>> >>>> - RedefineAbstractClass.sh - cleaned up the header comment >>>> - RedefineAbstractClass.sh >>>> - more clear description of what's being tested >>>> - add comments describing what the guarantee failure looks like >>>> - add checks for proper pre-RedefineClasses output >>>> - add checks for proper post-RedefineClasses output >>>> - RedefineSubclassWithTwoInterfacesApp.java >>>> - RedefineSubclassWithTwoInterfacesRemote.java >>>> - refactor the test app's echo() method call into echo1() and >>>> echo2() so it is easier to check for the failure mode >>>> - RedefineSubclassWithTwoInterfacesImpl.java >>>> - RedefineSubclassWithTwoInterfacesImpl_1.java >>>> - add comment to explain why these sources are identical >>>> >>>> >>>> Diffs are below since the webrev above is relative to JDK8-T&L >>>> and everything is "new". >>>> >>>> Dan >>>> >>>> Here are diffs (ignoring whitespace) to make it clear what has >>>> changed between Code Review Round 0 and Code Review Round 1: >>>> >>>> >>>> $ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,} >>>> 31a32 >>>> > # @author Daniel D. Daugherty >>>> >>>> >>>> $ diff -w >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,} >>>> 26c26,27 >>>> < # @summary Redefining a subclass that implements two interfaces >>>> is broken. >>>> --- >>>> > # @summary Redefine a subclass that implements two interfaces and >>>> > # verify that the right methods are called. >>>> 101a103,104 >>>> > >>>> > echo "INFO: " >>>> 102a106,107 >>>> > echo "INFO: " >>>> > >>>> 108,112c113,127 >>>> < MESG="guarantee" >>>> < grep "$MESG" output.log >>>> < result=$? >>>> < if [ "$result" = 0 ]; then >>>> < echo "FAIL: found '$MESG' in the test output" >>>> --- >>>> > # When this bug manifests, RedefineClasses() will fail to update >>>> > # one of the itable entries to refer to the new method. The log >>>> > # will include the following line when the bug occurs: >>>> > # >>>> > # guarantee(false) failed: OLD and/or OBSOLETE method(s) found >>>> > # >>>> > # If this guarantee happens, the test should fail in the status >>>> > # check above, but just in case it doesn't, we check for >>>> "guarantee". >>>> > # >>>> > >>>> > FAIL_MESG="guarantee" >>>> > grep "$FAIL_MESG" output.log >>>> > status=$? >>>> > if [ "$status" = 0 ]; then >>>> > echo "FAIL: found '$FAIL_MESG' in the test output." >>>> 115c130,131 >>>> < echo "PASS: did NOT find '$MESG' in the test output" >>>> --- >>>> > echo "INFO: did NOT find '$FAIL_MESG' in the test output." >>>> > # be optimistic here >>>> 118a135,164 >>>> > PASS1_MESG="before any redefines" >>>> > cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l` >>>> > case "$cnt" in >>>> > 2) >>>> > echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs." >>>> > ;; >>>> > *) >>>> > echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs." >>>> > echo "INFO: grep '$PASS1_MESG' output:" >>>> > grep "$PASS1_MESG" output.log >>>> > result=1 >>>> > esac >>>> > >>>> > PASS2_MESG="after redefine" >>>> > cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l` >>>> > case "$cnt" in >>>> > 2) >>>> > echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs." >>>> > ;; >>>> > *) >>>> > echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs." >>>> > echo "INFO: grep '$PASS2_MESG' output:" >>>> > grep "$PASS2_MESG" output.log >>>> > result=1 >>>> > esac >>>> > >>>> > if [ "$result" = 0 ]; then >>>> > echo "PASS: test passed both positive and negative output >>>> checks." >>>> > fi >>>> > >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,} >>>> 43,45c43,45 >>>> < // make an echo() call before any redefinitions: >>>> < mesg = remote.echo("test message #0"); >>>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>>> --- >>>> > // make echo() calls before any redefinitions: >>>> > mesg = remote.echo1("test message #1.1"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>>> mesg='" >>>> 46a47,49 >>>> > mesg = remote.echo2("test message #2.1"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>>> mesg='" >>>> > + mesg + "' before any redefines"); >>>> 54,56c57,62 >>>> < mesg = remote.echo("test message #1"); >>>> < System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='" >>>> < + mesg + "' after redefine #1"); >>>> --- >>>> > mesg = remote.echo1("test message #1.2"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 >>>> mesg='" >>>> > + mesg + "' after redefine"); >>>> > mesg = remote.echo2("test message #2.2"); >>>> > System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 >>>> mesg='" >>>> > + mesg + "' after redefine"); >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,} >>>> 23a24,27 >>>> > // Reproducing this bug only requires an EMCP version of the >>>> > // RedefineSubclassWithTwoInterfacesImpl class so >>>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,} >>>> 23a24,27 >>>> > // Reproducing this bug only requires an EMCP version of the >>>> > // RedefineSubclassWithTwoInterfacesImpl class so >>>> > // RedefineSubclassWithTwoInterfacesImpl.java and >>>> > // RedefineSubclassWithTwoInterfacesImpl_1.java are identical. >>>> >>>> >>>> $ diff >>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfacesRemote.java{.cr0,} >>>> 40,41c40,41 >>>> < public String echo(String s) { >>>> < return "intf1<" + intf1.echo(s) + "> intf2< " + >>>> intf2.echo(s) + ">"; >>>> --- >>>> > public String echo1(String s) { >>>> > return "intf1<" + intf1.echo(s) + ">"; >>>> 42a43,46 >>>> > >>>> > public String echo2(String s) { >>>> > return "intf2<" + intf2.echo(s) + ">"; >>>> > } >>>> >>>> >>>> On 2/1/13 4:55 PM, Daniel D. Daugherty wrote: >>>>> And here is the webrev for the new tests (relative to JDK8-T&L): >>>>> >>>>> http://cr.openjdk.java.net/~dcubed/8007420-webrev/0-jdk8-tl/ >>>>> >>>>> As always, comments and suggestions are welcome. >>>>> >>>>> Dan >>>>> >>>>> >>>>> On 2/1/13 4:39 PM, Daniel D. Daugherty wrote: >>>>>> > There are two new tests that will be pushed to the JDK repos using >>>>>> > a different bug ID (not yet filed): >>>>>> >>>>>> New bug is now filed: >>>>>> >>>>>> 8007420 add test for 6805864 to com/sun/jdi, add test for >>>>>> 7182152 >>>>>> to java/lang/instrument >>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007420 >>>>>> https://jbs.oracle.com/bugs/browse/JDK-8007420 >>>>>> >>>>>> Of course, the tests cannot be pushed until the HSX changes have >>>>>> made >>>>>> it into a promoted build and thus available to JDK8-T&L. >>>>>> >>>>>> Dan >>>>>> >>>>>> >>>>>> On 2/1/13 12:55 PM, Daniel D. Daugherty wrote: >>>>>>> Greetings, >>>>>>> >>>>>>> I have a fix for the following JVM/TI bug: >>>>>>> >>>>>>> 7182152 Instrumentation hot swap test incorrect monitor count >>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152 >>>>>>> https://jbs.oracle.com/bugs/browse/JDK-7182152 >>>>>>> >>>>>>> The fix for the bug in the product code is one line: >>>>>>> >>>>>>> src/share/vm/oops/klassVtable.cpp: >>>>>>> >>>>>>> @@ -992,18 +1020,50 @@ >>>>>>> // RC_TRACE macro has an embedded ResourceMark >>>>>>> RC_TRACE(0x00200000, ("itable method update: %s(%s)", >>>>>>> new_method->name()->as_C_string(), >>>>>>> new_method->signature()->as_C_string())); >>>>>>> } >>>>>>> - break; >>>>>>> + // cannot 'break' here; see for-loop comment above. >>>>>>> } >>>>>>> ime++; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen >>>>>>> already fixed the bug as part of the Perm Gen Removal (PGR) project >>>>>>> in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR >>>>>>> changeset. Many thanks to Coleen for her help in this bug hunt! >>>>>>> >>>>>>> The rest of the code in the webrevs are: >>>>>>> >>>>>>> - additional JVM/TI tracing code backported from Coleen's PGR >>>>>>> changeset >>>>>>> - additional JVM/TI tracing code added by me and forward ported >>>>>>> to HSX-25 >>>>>>> - a new -XX:TraceRedefineClasses=16384 flag value for finding these >>>>>>> elusive old or obsolete methods >>>>>>> - exposure of some printing code to the PRODUCT build so that >>>>>>> the new >>>>>>> tracing is available in a PRODUCT build >>>>>>> >>>>>>> You might be wondering why the new tracing code is exposed in a >>>>>>> PRODUCT >>>>>>> build. Well, it appears that more and more PRODUCT bits >>>>>>> deployments are >>>>>>> using JVM/TI RedefineClasses() and/or RetransformClasses() at >>>>>>> run-time >>>>>>> to instrument their systems. This bug (7182152) was only >>>>>>> intermittently >>>>>>> reproducible in the WLS environment in which it occurred so I >>>>>>> made the >>>>>>> tracing available in a PRODUCT build to assist in the hunt. >>>>>>> >>>>>>> Raj from the WLS team has also verified that the HSX-23.6 >>>>>>> version of >>>>>>> fix resolves the issue in his environment. Thanks Raj! >>>>>>> >>>>>>> Here are the URLs for the three webrevs: >>>>>>> >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx23.6/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx24/ >>>>>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/0-hsx25/ >>>>>>> >>>>>>> I have run the following test suites from the JPDA stack on the >>>>>>> JDK7u10/HSX-23.6 version of the fix with >>>>>>> -XX:TraceRedefineClasses=16384 >>>>>>> specified: >>>>>>> >>>>>>> sdk-jdi >>>>>>> sdk-jdi_closed >>>>>>> sdk-jli >>>>>>> vm-heapdump >>>>>>> vm-hprof >>>>>>> vm-jdb >>>>>>> vm-jdi >>>>>>> vm-jdwp >>>>>>> vm-jvmti >>>>>>> vm-sajdi >>>>>>> >>>>>>> The tested configs are: >>>>>>> >>>>>>> {Solaris-X86, WinXP} >>>>>>> X {Client VM, Server VM} >>>>>>> X {-Xmixed, -Xcomp} >>>>>>> X {product, fastdebug} >>>>>>> >>>>>>> With the 1-liner fix in place, the new tracing code does not >>>>>>> find any >>>>>>> instances of this failure mode in any of the above test suites. >>>>>>> Without >>>>>>> the the 1-liner fix in place, the new tracing code finds one >>>>>>> instance >>>>>>> of this failure mode in the above test suites: >>>>>>> >>>>>>> test/java/lang/instrument/IsModifiableClassAgent.java >>>>>>> >>>>>>> There are two new tests that will be pushed to the JDK repos using >>>>>>> a different bug ID (not yet filed): >>>>>>> >>>>>>> test/com/sun/jdi/RedefineAbstractClass.sh >>>>>>> test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh >>>>>>> >>>>>>> There will be a separate review request for the new tests. >>>>>>> >>>>>>> I'm currently running the JPDA stack of tests on the JDK7u14/HSX-24 >>>>>>> and JDK8-B75/HSX-25 versions of the fix. That testing will likely >>>>>>> take all weekend to complete. >>>>>>> >>>>>>> Thanks, in advance, for any comments and/or suggestions. >>>>>>> >>>>>>> Dan >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >> > From mike.duigou at oracle.com Mon Feb 11 20:27:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:27:14 +0000 Subject: hg: jdk8/tl/jdk: 8006594: Add jdk_core target to jdk/test/Makefile Message-ID: <20130212042734.9CCB7479C5@hg.openjdk.java.net> Changeset: 465cce29a9ed Author: mduigou Date: 2013-02-06 11:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/465cce29a9ed 8006594: Add jdk_core target to jdk/test/Makefile Reviewed-by: alanb ! make/jprt.properties ! test/Makefile ! test/ProblemList.txt From mike.duigou at oracle.com Mon Feb 11 20:29:29 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Tue, 12 Feb 2013 04:29:29 +0000 Subject: hg: jdk8/tl: 8006595: Use jdk/test/Makefile targets in preference to local definitions Message-ID: <20130212042929.27A3C479C6@hg.openjdk.java.net> Changeset: 7817368287cd Author: mduigou Date: 2013-02-06 11:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7817368287cd 8006595: Use jdk/test/Makefile targets in preference to local definitions Reviewed-by: alanb ! common/makefiles/Main.gmk ! test/Makefile From staffan.larsen at oracle.com Tue Feb 12 02:19:24 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 12 Feb 2013 11:19:24 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <51198AE3.5040706@oracle.com> References: <51198AE3.5040706@oracle.com> Message-ID: <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. Thanks, /Staffan On 12 feb 2013, at 01:20, David Holmes wrote: > On 10/02/2013 5:06 AM, Staffan Larsen wrote: >> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. > > Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? > > Also we need a regression test for this as obviously it ain't being tested! :( > > Thanks, > David > >> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >> >> Thanks, >> /Staffan >> From joel.franck at oracle.com Tue Feb 12 02:32:07 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Tue, 12 Feb 2013 10:32:07 +0000 Subject: hg: jdk8/tl/langtools: 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Message-ID: <20130212103213.A6A78479CE@hg.openjdk.java.net> Changeset: 973646bf043a Author: jfranck Date: 2013-02-12 11:28 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/973646bf043a 8004822: RFE to write language model API tests for repeating annotations based on the spec updates Reviewed-by: jjg, abuckley Contributed-by: Matherey Nunez + test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedA2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB1Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/MixSingularAndUnofficialContainerInheritedB2Test.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/OfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOfficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedATest.java + test/tools/javac/processing/model/element/repeatingAnnotations/SingularInheritedBTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerBasicTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/UnofficialContainerInheritedTest.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Bar.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/BarInheritedContainerContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedBase.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/ExpectedContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/Foo.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/FooInherited.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialContainer.java + test/tools/javac/processing/model/element/repeatingAnnotations/supportingAnnotations/UnofficialInheritedContainer.java From dmitry.samersoff at oracle.com Tue Feb 12 04:04:08 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Tue, 12 Feb 2013 12:04:08 +0000 Subject: hg: jdk8/tl/jdk: 8007786: JDK-8002048 testcase doesn't work on Solaris Message-ID: <20130212120441.B8CCD479D2@hg.openjdk.java.net> Changeset: f7fb173ac833 Author: dsamersoff Date: 2013-02-12 16:02 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 8007786: JDK-8002048 testcase doesn't work on Solaris Summary: test built in into Solaris shell doesn't have -e operator Reviewed-by: sla, sspitsyn ! test/sun/management/jdp/JdpTest.sh From vicente.romero at oracle.com Tue Feb 12 05:38:28 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Tue, 12 Feb 2013 13:38:28 +0000 Subject: hg: jdk8/tl/langtools: 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Message-ID: <20130212133831.64F4F479D8@hg.openjdk.java.net> Changeset: 073696f59241 Author: vromero Date: 2013-02-12 13:36 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/073696f59241 8006334: javap, JavapTask constructor breaks with null pointer exception if parameter options is null Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java + test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java From markus.gronlund at oracle.com Tue Feb 12 06:03:00 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Tue, 12 Feb 2013 06:03:00 -0800 (PST) Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer Message-ID: Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ ? Please also note this is for hs24. ? Thanks to David Holmes for pointing out this problem. ? Thanks Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130212/69355265/attachment.html From staffan.larsen at oracle.com Tue Feb 12 06:47:01 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Tue, 12 Feb 2013 15:47:01 +0100 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: Message-ID: <95B05418-AD84-48DE-A11E-8C0796FAD8AF@oracle.com> Looks good! I can sponsor this once it has been Reviewed. /Staffan On 12 feb 2013, at 15:03, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 > Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ > > Please also note this is for hs24. > > Thanks to David Holmes for pointing out this problem. > > Thanks > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130212/3d7e58d1/attachment.html From xueming.shen at oracle.com Tue Feb 12 09:27:13 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:27:13 +0000 Subject: hg: jdk8/tl/jdk: 8007392: JSR 310: DateTime API Updates; ... Message-ID: <20130212172753.897C6479E1@hg.openjdk.java.net> Changeset: 7dcb74c3ffba Author: sherman Date: 2013-02-12 09:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7dcb74c3ffba 8007392: JSR 310: DateTime API Updates 8007520: Update date/time classes in j.util and j.sql packages 8007572: Replace existing jdk timezone data at /lib/zi with JSR310's tzdb Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! make/docs/CORE_PKGS.gmk ! make/java/java/FILES_java.gmk ! make/sun/Makefile ! make/sun/javazic/Makefile + make/sun/javazic/tzdata/gmt + make/sun/javazic/tzdata/jdk11_backward ! make/sun/tzdb/Makefile ! make/tools/Makefile ! make/tools/src/build/tools/javazic/Zoneinfo.java ! make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java ! makefiles/GendataTZDB.gmk ! makefiles/GendataTimeZone.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk ! src/share/classes/java/sql/Date.java ! src/share/classes/java/sql/Time.java ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/java/time/Clock.java ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java + src/share/classes/java/time/MonthDay.java + src/share/classes/java/time/OffsetDateTime.java + src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java - src/share/classes/java/time/PeriodParser.java ! src/share/classes/java/time/Ser.java + src/share/classes/java/time/Year.java + src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/chrono/ChronoDateImpl.java + src/share/classes/java/time/chrono/ChronoLocalDate.java + src/share/classes/java/time/chrono/ChronoLocalDateTime.java + src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/chrono/ChronoZonedDateTime.java + src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/chrono/Chronology.java + src/share/classes/java/time/chrono/Era.java + src/share/classes/java/time/chrono/HijrahChronology.java + src/share/classes/java/time/chrono/HijrahDate.java + src/share/classes/java/time/chrono/HijrahDeviationReader.java + src/share/classes/java/time/chrono/HijrahEra.java + src/share/classes/java/time/chrono/IsoChronology.java + src/share/classes/java/time/chrono/IsoEra.java + src/share/classes/java/time/chrono/JapaneseChronology.java + src/share/classes/java/time/chrono/JapaneseDate.java + src/share/classes/java/time/chrono/JapaneseEra.java + src/share/classes/java/time/chrono/MinguoChronology.java + src/share/classes/java/time/chrono/MinguoDate.java + src/share/classes/java/time/chrono/MinguoEra.java + src/share/classes/java/time/chrono/Ser.java + src/share/classes/java/time/chrono/ThaiBuddhistChronology.java + src/share/classes/java/time/chrono/ThaiBuddhistDate.java + src/share/classes/java/time/chrono/ThaiBuddhistEra.java + src/share/classes/java/time/chrono/package-info.java ! src/share/classes/java/time/format/DateTimeBuilder.java ! src/share/classes/java/time/format/DateTimeFormatStyleProvider.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java - src/share/classes/java/time/format/DateTimeFormatters.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimePrintContext.java - src/share/classes/java/time/format/DateTimePrintException.java ! src/share/classes/java/time/format/DateTimeTextProvider.java ! src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/ZoneName.java ! src/share/classes/java/time/format/package-info.java ! src/share/classes/java/time/overview.html ! src/share/classes/java/time/package-info.java - src/share/classes/java/time/temporal/Chrono.java ! src/share/classes/java/time/temporal/ChronoField.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/temporal/ChronoUnit.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java ! src/share/classes/java/time/temporal/Queries.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java - src/share/classes/java/time/temporal/TemporalAdder.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java ! src/share/classes/java/time/temporal/TemporalQuery.java - src/share/classes/java/time/temporal/TemporalSubtractor.java ! src/share/classes/java/time/temporal/TemporalUnit.java ! src/share/classes/java/time/temporal/WeekFields.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java ! src/share/classes/java/time/temporal/package-info.java ! src/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRules.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/calendar/CalendarSystem.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/sql/JavatimeTest.java + test/java/time/META-INF/services/java.time.chrono.Chronology - test/java/time/META-INF/services/java.time.temporal.Chrono ! test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/MockSimplePeriod.java ! test/java/time/tck/java/time/TCKClock.java ! test/java/time/tck/java/time/TCKClock_Fixed.java ! test/java/time/tck/java/time/TCKClock_Offset.java ! test/java/time/tck/java/time/TCKClock_System.java ! test/java/time/tck/java/time/TCKClock_Tick.java ! test/java/time/tck/java/time/TCKDayOfWeek.java ! test/java/time/tck/java/time/TCKDuration.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalDate.java ! test/java/time/tck/java/time/TCKLocalDateTime.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKMonthDay.java + test/java/time/tck/java/time/TCKOffsetDateTime.java + test/java/time/tck/java/time/TCKOffsetTime.java + test/java/time/tck/java/time/TCKPeriod.java + test/java/time/tck/java/time/TCKYear.java + test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneId.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/TestChronology.java + test/java/time/tck/java/time/TestIsoChronology.java - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/chrono/CopticChronology.java + test/java/time/tck/java/time/chrono/CopticDate.java + test/java/time/tck/java/time/chrono/CopticEra.java + test/java/time/tck/java/time/chrono/TCKChronology.java + test/java/time/tck/java/time/chrono/TCKTestServiceLoader.java + test/java/time/tck/java/time/chrono/TestChronoLocalDate.java + test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java + test/java/time/tck/java/time/chrono/TestHijrahChronology.java + test/java/time/tck/java/time/chrono/TestJapaneseChronology.java + test/java/time/tck/java/time/chrono/TestMinguoChronology.java + test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java + test/java/time/tck/java/time/format/TCKChronoPrinterParser.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java ! test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/format/TCKLocalizedPrinterParser.java + test/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/java/time/tck/java/time/format/TCKPadPrinterParser.java + test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java - test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKIsoFields.java ! test/java/time/tck/java/time/temporal/TCKJulianFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDate.java ! test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java ! test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/tck/java/time/temporal/TestISOChrono.java ! test/java/time/tck/java/time/zone/TCKFixedZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java ! test/java/time/tck/java/time/zone/TCKZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java ! test/java/time/test/java/time/MockSimplePeriod.java ! test/java/time/test/java/time/TestDuration.java ! test/java/time/test/java/time/TestLocalDateTime.java ! test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestMonthDay.java + test/java/time/test/java/time/TestOffsetDateTime.java + test/java/time/test/java/time/TestOffsetDateTime_instants.java + test/java/time/test/java/time/TestOffsetTime.java ! test/java/time/test/java/time/TestPeriod.java - test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestYear.java + test/java/time/test/java/time/TestYearMonth.java ! test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/chrono/TestExampleCode.java + test/java/time/test/java/time/chrono/TestIsoChronoImpl.java + test/java/time/test/java/time/chrono/TestServiceLoader.java ! test/java/time/test/java/time/format/TestCharLiteralParser.java ! test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java ! test/java/time/test/java/time/format/TestDateTimeTextProvider.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestNumberPrinter.java - test/java/time/test/java/time/format/TestPadParserDecorator.java ! test/java/time/test/java/time/format/TestPadPrinterDecorator.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestSettingsParser.java ! test/java/time/test/java/time/format/TestStringLiteralParser.java ! test/java/time/test/java/time/format/TestStringLiteralPrinter.java ! test/java/time/test/java/time/format/TestTextParser.java ! test/java/time/test/java/time/format/TestTextPrinter.java - test/java/time/test/java/time/format/TestZoneIdParser.java ! test/java/time/test/java/time/format/TestZoneOffsetParser.java ! test/java/time/test/java/time/format/TestZoneOffsetPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/format/ZoneName.java ! test/java/time/test/java/time/temporal/MockFieldNoValue.java ! test/java/time/test/java/time/temporal/MockFieldValue.java ! test/java/time/test/java/time/temporal/TestChronoUnit.java ! test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java ! test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestJulianFields.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java ! test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java ! test/java/time/test/java/time/zone/TestFixedZoneRules.java ! test/java/time/test/java/util/TestFormatter.java + test/java/util/Calendar/JavatimeTest.java ! test/java/util/TimeZone/OldIDMappingTest.java + test/java/util/TimeZone/TzIDOldMapping.java + test/sun/util/calendar/zi/BackEnd.java + test/sun/util/calendar/zi/Checksum.java + test/sun/util/calendar/zi/DayOfWeek.java + test/sun/util/calendar/zi/Gen.java + test/sun/util/calendar/zi/GenDoc.java + test/sun/util/calendar/zi/Main.java + test/sun/util/calendar/zi/Mappings.java + test/sun/util/calendar/zi/Month.java + test/sun/util/calendar/zi/Rule.java + test/sun/util/calendar/zi/RuleDay.java + test/sun/util/calendar/zi/RuleRec.java + test/sun/util/calendar/zi/Simple.java + test/sun/util/calendar/zi/TestZoneInfo310.java + test/sun/util/calendar/zi/Time.java + test/sun/util/calendar/zi/Timezone.java + test/sun/util/calendar/zi/TzIDOldMapping.java + test/sun/util/calendar/zi/Zone.java + test/sun/util/calendar/zi/ZoneInfoFile.java + test/sun/util/calendar/zi/ZoneInfoOld.java + test/sun/util/calendar/zi/ZoneRec.java + test/sun/util/calendar/zi/Zoneinfo.java + test/sun/util/calendar/zi/tzdata/VERSION + test/sun/util/calendar/zi/tzdata/africa + test/sun/util/calendar/zi/tzdata/antarctica + test/sun/util/calendar/zi/tzdata/asia + test/sun/util/calendar/zi/tzdata/australasia + test/sun/util/calendar/zi/tzdata/backward + test/sun/util/calendar/zi/tzdata/etcetera + test/sun/util/calendar/zi/tzdata/europe + test/sun/util/calendar/zi/tzdata/factory + test/sun/util/calendar/zi/tzdata/gmt + test/sun/util/calendar/zi/tzdata/iso3166.tab + test/sun/util/calendar/zi/tzdata/jdk11_backward + test/sun/util/calendar/zi/tzdata/leapseconds + test/sun/util/calendar/zi/tzdata/northamerica + test/sun/util/calendar/zi/tzdata/pacificnew + test/sun/util/calendar/zi/tzdata/solar87 + test/sun/util/calendar/zi/tzdata/solar88 + test/sun/util/calendar/zi/tzdata/solar89 + test/sun/util/calendar/zi/tzdata/southamerica + test/sun/util/calendar/zi/tzdata/systemv + test/sun/util/calendar/zi/tzdata/zone.tab + test/sun/util/calendar/zi/tzdata_jdk/gmt + test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward + test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward From xueming.shen at oracle.com Tue Feb 12 09:29:25 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Tue, 12 Feb 2013 17:29:25 +0000 Subject: hg: jdk8/tl: 8007392: JSR 310: DateTime API Updates Message-ID: <20130212172926.46541479E2@hg.openjdk.java.net> Changeset: fdb1e09519ed Author: sherman Date: 2013-02-12 09:27 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/fdb1e09519ed 8007392: JSR 310: DateTime API Updates Summary: Integration of JSR310 Date/Time API for M7 Reviewed-by: darcy, alanb, naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! common/makefiles/javadoc/CORE_PKGS.gmk From chris.hegarty at oracle.com Tue Feb 12 09:38:02 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Tue, 12 Feb 2013 17:38:02 +0000 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <20130212120441.B8CCD479D2@hg.openjdk.java.net> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> Message-ID: <511A7DFA.5030101@oracle.com> Dmitry, This test is now failing on several platforms, on jdk8 and 7u-dev ------- result: Passed. Compilation successful #section:shell ----------messages:(3/154)---------- command: shell JdpTest.sh [--jtreg, --no-compile] reason: User specified action: run shell JdpTest.sh --jtreg --no-compile elapsed time (seconds): 0.045 ----------System.out:(0/0)---------- ----------System.err:(1/110)---------- /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected result: Failed. Execution failed: exit code 1 test result: Failed. Execution failed: exit code 1 -Chris. On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: > Changeset: f7fb173ac833 > Author: dsamersoff > Date: 2013-02-12 16:02 +0400 > URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 > > 8007786: JDK-8002048 testcase doesn't work on Solaris > Summary: test built in into Solaris shell doesn't have -e operator > Reviewed-by: sla, sspitsyn > > ! test/sun/management/jdp/JdpTest.sh > From kelly.ohair at oracle.com Tue Feb 12 09:52:23 2013 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Tue, 12 Feb 2013 09:52:23 -0800 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511A7DFA.5030101@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> Message-ID: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> + if [ ! -f ${_testclasses} ] needs to be + if [ ! -d ${_testclasses} ] -kto On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > Dmitry, > > This test is now failing on several platforms, on jdk8 and 7u-dev > > ------- > > result: Passed. Compilation successful > > #section:shell > ----------messages:(3/154)---------- > command: shell JdpTest.sh [--jtreg, --no-compile] > reason: User specified action: run shell JdpTest.sh --jtreg --no-compile > elapsed time (seconds): 0.045 > ----------System.out:(0/0)---------- > ----------System.err:(1/110)---------- > /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected > result: Failed. Execution failed: exit code 1 > > > test result: Failed. Execution failed: exit code 1 > > -Chris. > > > On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >> Changeset: f7fb173ac833 >> Author: dsamersoff >> Date: 2013-02-12 16:02 +0400 >> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >> >> 8007786: JDK-8002048 testcase doesn't work on Solaris >> Summary: test built in into Solaris shell doesn't have -e operator >> Reviewed-by: sla, sspitsyn >> >> ! test/sun/management/jdp/JdpTest.sh >> From maurizio.cimadamore at oracle.com Tue Feb 12 11:25:52 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Tue, 12 Feb 2013 19:25:52 +0000 Subject: hg: jdk8/tl/langtools: 8007464: Add graph inference support Message-ID: <20130212192555.51CF1479EB@hg.openjdk.java.net> Changeset: 2154ed9ff6c8 Author: mcimadamore Date: 2013-02-12 19:25 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2154ed9ff6c8 8007464: Add graph inference support Summary: Add support for more aggressive type-inference scheme Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + src/share/classes/com/sun/tools/javac/util/GraphUtils.java ! test/tools/javac/6758789/T6758789b.out ! test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/diags/examples/CantApplyDiamond1.java ! test/tools/javac/diags/examples/InferredDoNotConformToEq.java ! test/tools/javac/diags/examples/InferredDoNotConformToUpper.java ! test/tools/javac/diags/examples/WhereFreshTvar.java ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/inference/6278587/T6278587Neg.java ! test/tools/javac/generics/inference/6638712/T6638712d.out ! test/tools/javac/generics/inference/6638712/T6638712e.out ! test/tools/javac/generics/inference/7154127/T7154127.java ! test/tools/javac/generics/inference/7154127/T7154127.out ! test/tools/javac/generics/inference/7177306/T7177306a.out ! test/tools/javac/generics/inference/7177306/T7177306e.java ! test/tools/javac/generics/inference/7177306/T7177306e.out ! test/tools/javac/generics/odersky/BadTest4.java ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType20.java - test/tools/javac/lambda/TargetType20.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType50.java - test/tools/javac/lambda/TargetType50.out ! test/tools/javac/lambda/TargetType51.java ! test/tools/javac/lambda/TargetType52.java ! test/tools/javac/lambda/TargetType52.out + test/tools/javac/lambda/TargetType53.java + test/tools/javac/lambda/TargetType54.java + test/tools/javac/lambda/TargetType55.java + test/tools/javac/lambda/TargetType56.java + test/tools/javac/lambda/TargetType57.java + test/tools/javac/lambda/TargetType57.out + test/tools/javac/lambda/TargetType58.java + test/tools/javac/lambda/TargetType59.java + test/tools/javac/lambda/TargetType61.java + test/tools/javac/lambda/TargetType62.java From dmitry.samersoff at oracle.com Tue Feb 12 14:13:06 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 02:13:06 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> Message-ID: <511ABE72.7020504@oracle.com> Kelly, Good catch but this part of test is not executed under JTReg, and this mistake cause extra mkdir call but not a test error. -Dmitry On 2013-02-12 21:52, Kelly O'Hair wrote: > + if [ ! -f ${_testclasses} ] > needs to be > + if [ ! -d ${_testclasses} ] > > > -kto > > On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Tue Feb 12 14:18:19 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 02:18:19 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> Message-ID: <511ABFAB.8030409@oracle.com> Kelly, Do you have an idea why I didn't see this failure under jprt? http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ -Dmitry On 2013-02-12 21:52, Kelly O'Hair wrote: > + if [ ! -f ${_testclasses} ] > needs to be > + if [ ! -d ${_testclasses} ] > > > -kto > > On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: > >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From dmitry.samersoff at oracle.com Tue Feb 12 14:19:44 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Tue, 12 Feb 2013 14:19:44 -0800 (PST) Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511A7DFA.5030101@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> Message-ID: <511AC000.5080506@oracle.com> Chris, I'm not able to reproduce it locally. Do you have a link to jprt job you see this failure? -Dmitry On 2013-02-12 21:38, Chris Hegarty wrote: > Dmitry, > > This test is now failing on several platforms, on jdk8 and 7u-dev > > ------- > > result: Passed. Compilation successful > > #section:shell > ----------messages:(3/154)---------- > command: shell JdpTest.sh [--jtreg, --no-compile] > reason: User specified action: run shell JdpTest.sh --jtreg --no-compile > elapsed time (seconds): 0.045 > ----------System.out:(0/0)---------- > ----------System.err:(1/110)---------- > /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: > test: argument expected > result: Failed. Execution failed: exit code 1 > > > test result: Failed. Execution failed: exit code 1 > > -Chris. > > > On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >> Changeset: f7fb173ac833 >> Author: dsamersoff >> Date: 2013-02-12 16:02 +0400 >> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >> >> 8007786: JDK-8002048 testcase doesn't work on Solaris >> Summary: test built in into Solaris shell doesn't have -e operator >> Reviewed-by: sla, sspitsyn >> >> ! test/sun/management/jdp/JdpTest.sh >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From alejandro.murillo at oracle.com Tue Feb 12 14:34:29 2013 From: alejandro.murillo at oracle.com (alejandro murillo) Date: Tue, 12 Feb 2013 15:34:29 -0700 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511ABFAB.8030409@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> <511ABFAB.8030409@oracle.com> Message-ID: <511AC375.2050703@oracle.com> Dmitry, you have to use "-testset core" to run this test via JPRT. It's not run on regular jobs. Alejandro On 2/12/2013 3:18 PM, Dmitry Samersoff wrote: > Kelly, > > Do you have an idea why I didn't see this failure under jprt? > > http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ > > -Dmitry > > > On 2013-02-12 21:52, Kelly O'Hair wrote: >> + if [ ! -f ${_testclasses} ] >> needs to be >> + if [ ! -d ${_testclasses} ] >> >> >> -kto >> >> On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: >> >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> > From jonathan.gibbons at oracle.com Tue Feb 12 17:16:05 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 13 Feb 2013 01:16:05 +0000 Subject: hg: jdk8/tl/langtools: 8008077: update reference impl for type-annotations Message-ID: <20130213011609.95D9047A01@hg.openjdk.java.net> Changeset: bc456436c613 Author: jjg Date: 2013-02-12 17:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/bc456436c613 8008077: update reference impl for type-annotations Reviewed-by: jjg Contributed-by: wmdietl at cs.washington.edu ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariable.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java From zhengyu.gu at oracle.com Tue Feb 12 18:26:45 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 13 Feb 2013 02:26:45 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007950: Undo hs_file permission change Message-ID: <20130213022650.1CD5247A04@hg.openjdk.java.net> Changeset: 5ee2b330eacd Author: zgu Date: 2013-02-12 12:19 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5ee2b330eacd 8007950: Undo hs_file permission change Summary: Reverse hs_err file permission back to 0666, as early push was premature Reviewed-by: dsamersoff, dcubed, acorn ! src/share/vm/utilities/vmError.cpp From joel.franck at oracle.com Wed Feb 13 01:34:40 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 09:34:40 +0000 Subject: hg: jdk8/tl/langtools: 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213093444.F348847A14@hg.openjdk.java.net> Changeset: aeadaf905d78 Author: jfranck Date: 2013-02-13 10:33 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/aeadaf905d78 8007279: Rename javax.l.model.element.Element.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/javax/lang/model/element/Element.java ! test/tools/javac/processing/model/element/repeatingAnnotations/ElementRepAnnoTester.java From yekaterina.kantserova at oracle.com Wed Feb 13 01:47:32 2013 From: yekaterina.kantserova at oracle.com (Yekaterina Kantserova) Date: Wed, 13 Feb 2013 10:47:32 +0100 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() Message-ID: <511B6134.3010005@oracle.com> Hi everyone, This small fixconcerns jdk.testlibrary.JdkFinder utility class. The check below is too OS dependent and should be deleted. ... binPath += File.separatorChar + "bin" + File.separatorChar + executable; File toolFile = new File(binPath); ==> if (!toolFile.exists()) { throw new RuntimeException(binPath + " does not exist"); } ... On windows if executable is specified as e.g. 'java', without '.exe', the File exists() will fail. But it's still possible to run executable. Webrev: http://cr.openjdk.java.net/~ykantser/8008089/webrev.00/ Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008089 Testing: JPRT Thanks, Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130213/872c338a/attachment-0001.html From joel.franck at oracle.com Wed Feb 13 02:24:12 2013 From: joel.franck at oracle.com (joel.franck at oracle.com) Date: Wed, 13 Feb 2013 10:24:12 +0000 Subject: hg: jdk8/tl/jdk: 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Message-ID: <20130213102440.E03F147A17@hg.openjdk.java.net> Changeset: 2cd67a8c7abc Author: jfranck Date: 2013-02-13 10:36 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2cd67a8c7abc 8007278: Rename j.l.r.AnnotatedElement.getAnnotations(Class) to getAnnotationsByType(Class) Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! test/java/lang/annotation/TypeParamAnnotation.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java From chris.hegarty at oracle.com Wed Feb 13 02:53:58 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 13 Feb 2013 10:53:58 +0000 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511AC000.5080506@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> Message-ID: <511B70C6.4040609@oracle.com> Dmitry, I have a trivial patch that resolves this issue. I would like to push it to jdk8/tl today before we freeze for M7, and have this failure escape into master. The change is to simply use conditions that are also supported by bourne shell . diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 -0800 +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 +0000 @@ -51,7 +51,7 @@ _do_compile(){ # sun.* packages is not included to symbol file lib/ct.sym so we have # to ignore it - if [ ! -f ${_testclasses} ] + if [ ! -d ${_testclasses} ] then mkdir -p ${_testclasses} fi @@ -319,7 +319,7 @@ rm -f ${_logname} rm -f ${_logname} rm -f ${_policyname} -if [ -e ${_testsrc}/policy.tpl ] +if [ -f ${_testsrc}/policy.tpl ] then cat ${_testsrc}/policy.tpl | \ -Chris. On 12/02/2013 22:19, Dmitry Samersoff wrote: > Chris, > > I'm not able to reproduce it locally. Do you have a link to jprt job you > see this failure? > > -Dmitry > > On 2013-02-12 21:38, Chris Hegarty wrote: >> Dmitry, >> >> This test is now failing on several platforms, on jdk8 and 7u-dev >> >> ------- >> >> result: Passed. Compilation successful >> >> #section:shell >> ----------messages:(3/154)---------- >> command: shell JdpTest.sh [--jtreg, --no-compile] >> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >> elapsed time (seconds): 0.045 >> ----------System.out:(0/0)---------- >> ----------System.err:(1/110)---------- >> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >> test: argument expected >> result: Failed. Execution failed: exit code 1 >> >> >> test result: Failed. Execution failed: exit code 1 >> >> -Chris. >> >> >> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>> Changeset: f7fb173ac833 >>> Author: dsamersoff >>> Date: 2013-02-12 16:02 +0400 >>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>> >>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>> Summary: test built in into Solaris shell doesn't have -e operator >>> Reviewed-by: sla, sspitsyn >>> >>> ! test/sun/management/jdp/JdpTest.sh >>> > > From dmitry.samersoff at oracle.com Wed Feb 13 03:11:22 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 15:11:22 +0400 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511B70C6.4040609@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> Message-ID: <511B74DA.40506@oracle.com> Chris, Will push it in few hours. -Dmitry On 2013-02-13 14:53, Chris Hegarty wrote: > Dmitry, > > I have a trivial patch that resolves this issue. I would like to push it > to jdk8/tl today before we freeze for M7, and have this failure escape > into master. > > The change is to simply use conditions that are also supported by bourne > shell . > > diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 > -0800 > +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 > +0000 > @@ -51,7 +51,7 @@ _do_compile(){ > # sun.* packages is not included to symbol file lib/ct.sym so we have > # to ignore it > > - if [ ! -f ${_testclasses} ] > + if [ ! -d ${_testclasses} ] > then > mkdir -p ${_testclasses} > fi > @@ -319,7 +319,7 @@ rm -f ${_logname} > rm -f ${_logname} > rm -f ${_policyname} > > -if [ -e ${_testsrc}/policy.tpl ] > +if [ -f ${_testsrc}/policy.tpl ] > then > > cat ${_testsrc}/policy.tpl | \ > > -Chris. > > On 12/02/2013 22:19, Dmitry Samersoff wrote: >> Chris, >> >> I'm not able to reproduce it locally. Do you have a link to jprt job you >> see this failure? >> >> -Dmitry >> >> On 2013-02-12 21:38, Chris Hegarty wrote: >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>> >>> test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> >> >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From rickard.backman at oracle.com Wed Feb 13 04:28:42 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Wed, 13 Feb 2013 13:28:42 +0100 Subject: RFR(S): 8008088: SA can hang the VM Message-ID: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Hi all, can I please have a couple of reviews of this change. The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 Thanks /R From staffan.larsen at oracle.com Wed Feb 13 04:55:10 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 13:55:10 +0100 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <1204FA0E-9746-4CFE-A0CD-8EEA289FBFAE@oracle.com> Looks good! (not a Reviewer) /Staffan On 13 feb 2013, at 13:28, Rickard B?ckman wrote: > Hi all, > > can I please have a couple of reviews of this change. > > The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). > > This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. > > Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ > Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 > > Thanks > /R From markus.gronlund at oracle.com Wed Feb 13 05:04:12 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Wed, 13 Feb 2013 05:04:12 -0800 (PST) Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <5db81b11-7573-4548-b008-1a04c9d12328@default> Rickard, I think it looks good (not a Reviewer). Thanks Markus -----Original Message----- From: Rickard B?ckman Sent: den 13 februari 2013 13:29 To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net Subject: RFR(S): 8008088: SA can hang the VM Hi all, can I please have a couple of reviews of this change. The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 Thanks /R From david.holmes at oracle.com Wed Feb 13 05:07:44 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 13 Feb 2013 23:07:44 +1000 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> Message-ID: <511B9020.4090608@oracle.com> Hi Rickard, This looks good. Reviewed. I am a little confused about the problem though. I would expect only a process-directed signal to cause this problem (as opposed to thread-directed) - is that the case? The ptrace info doesn't make a distinction so perhaps not. Though in that case I would have expected to see this problem long ago, if for example SEGV from a null reference access could cause a stop. David On 13/02/2013 10:28 PM, Rickard B?ckman wrote: > Hi all, > > can I please have a couple of reviews of this change. > > The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). > > This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. > > Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ > Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 > > Thanks > /R > From rickard.backman at oracle.com Wed Feb 13 05:57:20 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Wed, 13 Feb 2013 14:57:20 +0100 Subject: RFR(S): 8008088: SA can hang the VM In-Reply-To: <511B9020.4090608@oracle.com> References: <697E16D0-ABA3-4095-AB06-30BFAB19F4EB@oracle.com> <511B9020.4090608@oracle.com> Message-ID: <43184A1D-660F-4C47-9C68-7C019E92AA1A@oracle.com> David, as usual, thanks for the review. We have reproduced the problem with thread-directed signals. However it is very unlikely that the problem happens. The thread have to come into a state where both SIG and SIGSTOP are pending at the same time, while SA is waiting in waitpid(). The window of someone typing jmap, and SA doing the ptrace(ATTACH) pretty much at the same time as the thread SEGVs seems pretty small. Hope that makes sense. Thanks /R On Feb 13, 2013, at 2:07 PM, David Holmes wrote: > Hi Rickard, > > This looks good. Reviewed. > > I am a little confused about the problem though. I would expect only a process-directed signal to cause this problem (as opposed to thread-directed) - is that the case? The ptrace info doesn't make a distinction so perhaps not. Though in that case I would have expected to see this problem long ago, if for example SEGV from a null reference access could cause a stop. > > David > > On 13/02/2013 10:28 PM, Rickard B?ckman wrote: >> Hi all, >> >> can I please have a couple of reviews of this change. >> >> The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). >> >> This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal. >> >> Webrev: http://cr.openjdk.java.net/~rbackman/8008088/ >> Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088 >> >> Thanks >> /R >> From dmitry.samersoff at oracle.com Wed Feb 13 06:40:56 2013 From: dmitry.samersoff at oracle.com (Dmitry Samersoff) Date: Wed, 13 Feb 2013 18:40:56 +0400 Subject: RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected) In-Reply-To: <511B70C6.4040609@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> Message-ID: <511BA5F8.5070502@oracle.com> Chris, Please take a look at the final changes: http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/ I still not able to get valuable results from jprt but tried couple of different solaris machines and hope this time the problem with this test is gone. I'm ready to push it right after your response. -Dmitry On 2013-02-13 14:53, Chris Hegarty wrote: > Dmitry, > > I have a trivial patch that resolves this issue. I would like to push it > to jdk8/tl today before we freeze for M7, and have this failure escape > into master. > > The change is to simply use conditions that are also supported by bourne > shell . > > diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh > --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 > -0800 > +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 > +0000 > @@ -51,7 +51,7 @@ _do_compile(){ > # sun.* packages is not included to symbol file lib/ct.sym so we have > # to ignore it > > - if [ ! -f ${_testclasses} ] > + if [ ! -d ${_testclasses} ] > then > mkdir -p ${_testclasses} > fi > @@ -319,7 +319,7 @@ rm -f ${_logname} > rm -f ${_logname} > rm -f ${_policyname} > > -if [ -e ${_testsrc}/policy.tpl ] > +if [ -f ${_testsrc}/policy.tpl ] > then > > cat ${_testsrc}/policy.tpl | \ > > -Chris. > > On 12/02/2013 22:19, Dmitry Samersoff wrote: >> Chris, >> >> I'm not able to reproduce it locally. Do you have a link to jprt job you >> see this failure? >> >> -Dmitry >> >> On 2013-02-12 21:38, Chris Hegarty wrote: >>> Dmitry, >>> >>> This test is now failing on several platforms, on jdk8 and 7u-dev >>> >>> ------- >>> >>> result: Passed. Compilation successful >>> >>> #section:shell >>> ----------messages:(3/154)---------- >>> command: shell JdpTest.sh [--jtreg, --no-compile] >>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>> elapsed time (seconds): 0.045 >>> ----------System.out:(0/0)---------- >>> ----------System.err:(1/110)---------- >>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>> >>> test: argument expected >>> result: Failed. Execution failed: exit code 1 >>> >>> >>> test result: Failed. Execution failed: exit code 1 >>> >>> -Chris. >>> >>> >>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>> Changeset: f7fb173ac833 >>>> Author: dsamersoff >>>> Date: 2013-02-12 16:02 +0400 >>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>> >>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>> Summary: test built in into Solaris shell doesn't have -e operator >>>> Reviewed-by: sla, sspitsyn >>>> >>>> ! test/sun/management/jdp/JdpTest.sh >>>> >> >> -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer From staffan.larsen at oracle.com Wed Feb 13 07:05:28 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 16:05:28 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process Message-ID: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Please review the following change. When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ Thanks, /Staffan [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html From zhengyu.gu at oracle.com Wed Feb 13 07:14:55 2013 From: zhengyu.gu at oracle.com (zhengyu.gu at oracle.com) Date: Wed, 13 Feb 2013 15:14:55 +0000 Subject: hg: jdk8/tl/jdk: 8006691: Remove jvm_version_info->is_kernel_jvm field Message-ID: <20130213151507.412A047A21@hg.openjdk.java.net> Changeset: cd111064d4e9 Author: zgu Date: 2013-02-12 14:47 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cd111064d4e9 8006691: Remove jvm_version_info->is_kernel_jvm field Summary: Remove is_kernel_jvm field in jvm_version_info structure, as kernel VM has been deprecated Reviewed-by: mchung ! src/share/javavm/export/jvm.h From staffan.larsen at oracle.com Wed Feb 13 07:22:02 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Wed, 13 Feb 2013 15:22:02 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007312: null check signal semaphore in os::signal_notify windows Message-ID: <20130213152215.F00DA47A23@hg.openjdk.java.net> Changeset: 7adae9244bc8 Author: mgronlun Date: 2013-02-13 11:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/7adae9244bc8 8007312: null check signal semaphore in os::signal_notify windows Reviewed-by: dholmes, sla ! src/os/windows/vm/os_windows.cpp From vincent.x.ryan at oracle.com Wed Feb 13 08:04:18 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 16:04:18 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213160452.06FAF47A29@hg.openjdk.java.net> Changeset: bf64f83aa0cd Author: vinnie Date: 2013-02-13 16:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bf64f83aa0cd 8007934: algorithm parameters for PBE Scheme 2 not decoded correctly in PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java Changeset: ceb7c712c693 Author: vinnie Date: 2013-02-13 16:03 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ceb7c712c693 Merge From staffan.larsen at oracle.com Wed Feb 13 08:19:54 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Wed, 13 Feb 2013 17:19:54 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 Message-ID: Please review this trivial fix to remove some unexpected debug output from SA. webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ Thanks, /Staffan From kelly.ohair at oracle.com Wed Feb 13 08:56:06 2013 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Wed, 13 Feb 2013 08:56:06 -0800 Subject: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected In-Reply-To: <511AC375.2050703@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <6087B5C4-30D3-4CEF-A175-0D93638CC21A@oracle.com> <511ABFAB.8030409@oracle.com> <511AC375.2050703@oracle.com> Message-ID: <3FA4C5A9-2E60-4923-8B74-DDB8A8B8C8BD@oracle.com> Bingo. ;^) -kto On Feb 12, 2013, at 2:34 PM, alejandro murillo wrote: > > Dmitry, > you have to use "-testset core" to run this test via JPRT. It's not run on regular jobs. > > > Alejandro > > On 2/12/2013 3:18 PM, Dmitry Samersoff wrote: >> Kelly, >> >> Do you have an idea why I didn't see this failure under jprt? >> >> http://sthjprt.se.oracle.com/archives/2013/02/2013-02-08-192233.dsamerso.tl/ >> >> -Dmitry >> >> >> On 2013-02-12 21:52, Kelly O'Hair wrote: >>> + if [ ! -f ${_testclasses} ] >>> needs to be >>> + if [ ! -d ${_testclasses} ] >>> >>> >>> -kto >>> >>> On Feb 12, 2013, at 9:38 AM, Chris Hegarty wrote: >>> >>>> Dmitry, >>>> >>>> This test is now failing on several platforms, on jdk8 and 7u-dev >>>> >>>> ------- >>>> >>>> result: Passed. Compilation successful >>>> >>>> #section:shell >>>> ----------messages:(3/154)---------- >>>> command: shell JdpTest.sh [--jtreg, --no-compile] >>>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>>> elapsed time (seconds): 0.045 >>>> ----------System.out:(0/0)---------- >>>> ----------System.err:(1/110)---------- >>>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: test: argument expected >>>> result: Failed. Execution failed: exit code 1 >>>> >>>> >>>> test result: Failed. Execution failed: exit code 1 >>>> >>>> -Chris. >>>> >>>> >>>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>>> Changeset: f7fb173ac833 >>>>> Author: dsamersoff >>>>> Date: 2013-02-12 16:02 +0400 >>>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>>> >>>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>>> Summary: test built in into Solaris shell doesn't have -e operator >>>>> Reviewed-by: sla, sspitsyn >>>>> >>>>> ! test/sun/management/jdp/JdpTest.sh >>>>> >> > From maurizio.cimadamore at oracle.com Wed Feb 13 09:04:51 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 13 Feb 2013 17:04:51 +0000 Subject: hg: jdk8/tl/langtools: 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API; ... Message-ID: <20130213170456.BF6DA47A2F@hg.openjdk.java.net> Changeset: d04960f05593 Author: mcimadamore Date: 2013-02-13 17:04 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/d04960f05593 8006345: Report Synthesized Parameters in java.lang.reflect.Parameter API 8006896: ClassReader doesn't see MethodParameters attr for method of anon inner class 8007098: Output Synthesized Parameters to MethodParameters Attributes Summary: Correctly report synthesized and mandated parameters Reviewed-by: mcimadamore, jjg Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java From dmitry.samersoff at oracle.com Wed Feb 13 09:07:34 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Wed, 13 Feb 2013 17:07:34 +0000 Subject: hg: jdk8/tl/jdk: 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Message-ID: <20130213170800.8425947A30@hg.openjdk.java.net> Changeset: 8181be9a3538 Author: dsamersoff Date: 2013-02-13 21:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8181be9a3538 8008095: TEST_BUG: JDK-8002048 one more testcase failure on Solaris Summary: fixed couple of more Solaris shell incompatibilities Reviewed-by: chegar ! test/sun/management/jdp/JdpTest.sh From serguei.spitsyn at oracle.com Wed Feb 13 09:14:50 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 13 Feb 2013 09:14:50 -0800 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: <511BCA0A.9020705@oracle.com> Looks good and easy to review. :) Thanks, Serguei On 2/13/13 8:19 AM, Staffan Larsen wrote: > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan From chris.hegarty at oracle.com Wed Feb 13 09:21:16 2013 From: chris.hegarty at oracle.com (Chris Hegarty) Date: Wed, 13 Feb 2013 17:21:16 +0000 Subject: RR(S): 8008095.JDP-TEST3 (was Re: FAILS: test/sun/management/jdp/JdpTest.sh: test: argument expected) In-Reply-To: <511BA5F8.5070502@oracle.com> References: <20130212120441.B8CCD479D2@hg.openjdk.java.net> <511A7DFA.5030101@oracle.com> <511AC000.5080506@oracle.com> <511B70C6.4040609@oracle.com> <511BA5F8.5070502@oracle.com> Message-ID: <511BCB8C.2040205@oracle.com> Looks fine to me. -Chris. On 13/02/2013 14:40, Dmitry Samersoff wrote: > Chris, > > Please take a look at the final changes: > > http://cr.openjdk.java.net/~dsamersoff/8008095.JDP-TEST3/webrev.01/jdk/ > > I still not able to get valuable results from jprt but tried couple of > different solaris machines and hope this time the problem with this test > is gone. > > I'm ready to push it right after your response. > > -Dmitry > > On 2013-02-13 14:53, Chris Hegarty wrote: >> Dmitry, >> >> I have a trivial patch that resolves this issue. I would like to push it >> to jdk8/tl today before we freeze for M7, and have this failure escape >> into master. >> >> The change is to simply use conditions that are also supported by bourne >> shell . >> >> diff -r 7dcb74c3ffba test/sun/management/jdp/JdpTest.sh >> --- a/test/sun/management/jdp/JdpTest.sh Tue Feb 12 09:25:43 2013 >> -0800 >> +++ b/test/sun/management/jdp/JdpTest.sh Wed Feb 13 10:48:28 2013 >> +0000 >> @@ -51,7 +51,7 @@ _do_compile(){ >> # sun.* packages is not included to symbol file lib/ct.sym so we have >> # to ignore it >> >> - if [ ! -f ${_testclasses} ] >> + if [ ! -d ${_testclasses} ] >> then >> mkdir -p ${_testclasses} >> fi >> @@ -319,7 +319,7 @@ rm -f ${_logname} >> rm -f ${_logname} >> rm -f ${_policyname} >> >> -if [ -e ${_testsrc}/policy.tpl ] >> +if [ -f ${_testsrc}/policy.tpl ] >> then >> >> cat ${_testsrc}/policy.tpl | \ >> >> -Chris. >> >> On 12/02/2013 22:19, Dmitry Samersoff wrote: >>> Chris, >>> >>> I'm not able to reproduce it locally. Do you have a link to jprt job you >>> see this failure? >>> >>> -Dmitry >>> >>> On 2013-02-12 21:38, Chris Hegarty wrote: >>>> Dmitry, >>>> >>>> This test is now failing on several platforms, on jdk8 and 7u-dev >>>> >>>> ------- >>>> >>>> result: Passed. Compilation successful >>>> >>>> #section:shell >>>> ----------messages:(3/154)---------- >>>> command: shell JdpTest.sh [--jtreg, --no-compile] >>>> reason: User specified action: run shell JdpTest.sh --jtreg --no-compile >>>> elapsed time (seconds): 0.045 >>>> ----------System.out:(0/0)---------- >>>> ----------System.err:(1/110)---------- >>>> /export2/Users/chris/repos/jdk8/tl/master_top/jdk/test/sun/management/jdp/JdpTest.sh: >>>> >>>> test: argument expected >>>> result: Failed. Execution failed: exit code 1 >>>> >>>> >>>> test result: Failed. Execution failed: exit code 1 >>>> >>>> -Chris. >>>> >>>> >>>> On 02/12/2013 12:04 PM, dmitry.samersoff at oracle.com wrote: >>>>> Changeset: f7fb173ac833 >>>>> Author: dsamersoff >>>>> Date: 2013-02-12 16:02 +0400 >>>>> URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f7fb173ac833 >>>>> >>>>> 8007786: JDK-8002048 testcase doesn't work on Solaris >>>>> Summary: test built in into Solaris shell doesn't have -e operator >>>>> Reviewed-by: sla, sspitsyn >>>>> >>>>> ! test/sun/management/jdp/JdpTest.sh >>>>> >>> >>> > > From rickard.backman at oracle.com Wed Feb 13 10:17:06 2013 From: rickard.backman at oracle.com (=?utf-8?Q?Rickard_B=C3=A4ckman?=) Date: Wed, 13 Feb 2013 19:17:06 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Message-ID: <3F0581AF-4F62-4ABF-9660-5CCA535CF30E@oracle.com> Staffan, nice work. Looks good to me. (Not a Reviewer). /R 13 feb 2013 kl. 16:05 skrev Staffan Larsen : > Please review the following change. > > When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. > > webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ > > Thanks, > /Staffan > > [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html From rickard.backman at oracle.com Wed Feb 13 10:18:57 2013 From: rickard.backman at oracle.com (=?utf-8?Q?Rickard_B=C3=A4ckman?=) Date: Wed, 13 Feb 2013 19:18:57 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: Looks good. (Not a Reviewer). /R 13 feb 2013 kl. 17:19 skrev Staffan Larsen : > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan From vincent.x.ryan at oracle.com Wed Feb 13 11:42:10 2013 From: vincent.x.ryan at oracle.com (vincent.x.ryan at oracle.com) Date: Wed, 13 Feb 2013 19:42:10 +0000 Subject: hg: jdk8/tl/jdk: 8007755: Support the logical grouping of keystores Message-ID: <20130213194232.73EDE47A36@hg.openjdk.java.net> Changeset: 11438befdd4c Author: vinnie Date: 2013-02-13 19:40 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/11438befdd4c 8007755: Support the logical grouping of keystores Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/sun/security/provider/DomainKeyStore.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/provider/Sun.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/classes/sun/security/util/Resources.java + test/sun/security/provider/KeyStore/DKSTest.java + test/sun/security/provider/KeyStore/DKSTest.sh + test/sun/security/provider/KeyStore/domains.cfg ! test/sun/security/tools/keytool/AltProviderPath.sh ! test/sun/security/tools/keytool/DummyProvider.java From xueming.shen at oracle.com Wed Feb 13 11:51:04 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Wed, 13 Feb 2013 19:51:04 +0000 Subject: hg: jdk8/tl/jdk: 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Message-ID: <20130213195117.CDB8747A38@hg.openjdk.java.net> Changeset: efc66fe16f91 Author: sherman Date: 2013-02-13 11:49 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/efc66fe16f91 8008161: Regression: j.u.TimeZone.getAvailableIDs(rawOffset) returns non-sorted list Summary: to return a sorted list Reviewed-by: lancea, naoto ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! test/sun/util/calendar/zi/TestZoneInfo310.java From lana.steuck at oracle.com Wed Feb 13 12:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl: 9 new changesets Message-ID: <20130213201139.8AD2D47A39@hg.openjdk.java.net> Changeset: 6e296219633d Author: tbell Date: 2013-01-31 13:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/6e296219633d 8006933: Need to use nawk on Solaris to avoid awk limitations Reviewed-by: erikj, dholmes, dsamersoff ! common/makefiles/IdlCompilation.gmk Changeset: 12782ec1da5f Author: ohrstrom Date: 2013-01-31 14:00 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/12782ec1da5f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! common/autoconf/spec.gmk.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/javadoc/Javadoc.gmk Changeset: 7e584be2ee58 Author: ohrstrom Date: 2013-02-01 11:22 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/7e584be2ee58 Merge Changeset: 339e4df096a2 Author: erikj Date: 2013-02-04 10:53 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/339e4df096a2 8007093: build-infra: Make should fail if spec is older than configure files Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: dea045cc48ca Author: erikj Date: 2013-02-04 11:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/dea045cc48ca 8007275: build-infra: Create final-images target Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: d3d9ab8ee7b0 Author: erikj Date: 2013-02-05 16:50 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/rev/d3d9ab8ee7b0 8007524: build-infra: Incremental build of tools.jar broken Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 278af9fc67e7 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/278af9fc67e7 Merge Changeset: 3933eebc659d Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/3933eebc659d Added tag jdk8-b76 for changeset 278af9fc67e7 ! .hgtags Changeset: 76808fb4194a Author: lana Date: 2013-02-13 11:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/76808fb4194a Merge ! common/makefiles/Main.gmk From lana.steuck at oracle.com Wed Feb 13 12:11:38 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:38 +0000 Subject: hg: jdk8/tl/corba: 3 new changesets Message-ID: <20130213201141.D1F8D47A3A@hg.openjdk.java.net> Changeset: ce106b6b7394 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/ce106b6b7394 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildCorba.gmk Changeset: 58be6ca3c060 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/58be6ca3c060 Merge Changeset: 35684a40c584 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/35684a40c584 Added tag jdk8-b76 for changeset 58be6ca3c060 ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxws: 3 new changesets Message-ID: <20130213201151.53CD647A3B@hg.openjdk.java.net> Changeset: 54beebb17494 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/54beebb17494 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxws.gmk Changeset: c4853f3f0e89 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/c4853f3f0e89 Merge Changeset: 64dfba1bad16 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/64dfba1bad16 Added tag jdk8-b76 for changeset c4853f3f0e89 ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:11:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:43 +0000 Subject: hg: jdk8/tl/jaxp: 4 new changesets Message-ID: <20130213201155.6354047A3C@hg.openjdk.java.net> Changeset: 8f6ca8755f46 Author: ohrstrom Date: 2013-01-31 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/8f6ca8755f46 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildJaxp.gmk Changeset: 0c08593944d0 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/0c08593944d0 Merge Changeset: 02195d0e96b9 Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/02195d0e96b9 Added tag jdk8-b76 for changeset 0c08593944d0 ! .hgtags Changeset: 573e789c187a Author: lana Date: 2013-02-11 16:12 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/573e789c187a Merge From lana.steuck at oracle.com Wed Feb 13 12:11:49 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:11:49 +0000 Subject: hg: jdk8/tl/langtools: 5 new changesets Message-ID: <20130213201205.3D4A047A3D@hg.openjdk.java.net> Changeset: 2d6789a725a4 Author: ohrstrom Date: 2013-01-31 14:01 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2d6789a725a4 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/BuildLangtools.gmk Changeset: e81839b32337 Author: katleman Date: 2013-02-05 18:55 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/e81839b32337 Merge Changeset: 6fde20398015 Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/6fde20398015 Added tag jdk8-b76 for changeset e81839b32337 ! .hgtags Changeset: 89c664151689 Author: lana Date: 2013-02-11 16:15 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/89c664151689 Merge Changeset: 3f9875aa5d67 Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3f9875aa5d67 Merge From lana.steuck at oracle.com Wed Feb 13 12:12:20 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:20 +0000 Subject: hg: jdk8/tl/hotspot: 74 new changesets Message-ID: <20130213201507.A029A47A3E@hg.openjdk.java.net> Changeset: da53cb17186a Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/da53cb17186a Added tag jdk8-b76 for changeset 20b605466ccb ! .hgtags Changeset: 6fbe8a57549d Author: amurillo Date: 2013-01-25 03:03 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6fbe8a57549d 8006827: new hotspot build - hs25-b18 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3c327c2b6782 Author: jmasa Date: 2013-01-03 15:03 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c327c2b6782 8004895: NPG: JMapPermCore test failure caused by warnings about missing field Reviewed-by: johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ef1e11845e18 Author: jmasa Date: 2013-02-04 12:01 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ef1e11845e18 Merge ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 5daaddd917a1 Author: coleenp Date: 2013-01-23 10:34 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/5daaddd917a1 8006040: NPG: on_stack processing wastes space in ConstantPool Summary: Added on_stack bit to flags. Also MetadataMarkOnStack is used for more than JVMTI so had to be moved. Reviewed-by: dholmes, stefank ! src/share/vm/classfile/classLoaderData.cpp + src/share/vm/classfile/metadataOnStackMark.cpp + src/share/vm/classfile/metadataOnStackMark.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: 6cf2530f7fd3 Author: minqi Date: 2013-01-24 23:30 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6cf2530f7fd3 8005278: Serviceability Agent: jmap -heap and jstack -m fail Summary: BinaryTreeDictionary is typedef'ed as AFLBinaryTreeDictionary in vmStructs and in SA we still use old name for that. FreeList now is a template based class which is not reflect in SA type library. When SA does calculation of heap for CMS, the former will cause failure to retrieve BinaryTreeDictionary sine the rename. The later will fail wherever it is used in SA. Reviewed-by: dholmes, sla, coleenp Contributed-by: yunda.mly at taobao.com + agent/src/share/classes/sun/jvm/hotspot/memory/AFLBinaryTreeDictionary.java - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/memory/FreeList.java ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Changeset: 8b46b0196eb0 Author: zgu Date: 2013-01-25 10:04 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8b46b0196eb0 8000692: Remove old KERNEL code Summary: Removed depreciated kernel VM source code from hotspot VM Reviewed-by: dholmes, acorn ! make/Makefile ! make/bsd/makefiles/dtrace.make ! make/solaris/Makefile ! make/solaris/makefiles/dtrace.make - make/solaris/makefiles/kernel.make ! make/windows/build.bat ! make/windows/create_obj_files.sh ! make/windows/makefiles/defs.make ! make/windows/makefiles/projectcreator.make ! make/windows/makefiles/vm.make ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiCodeBlobEvents.hpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExtensions.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp ! src/share/vm/prims/jvmtiRawMonitor.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiTagMap.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/attachListener.hpp Changeset: edd76a5856f7 Author: sspitsyn Date: 2013-01-24 22:13 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/edd76a5856f7 8005128: JSR 292: the mlvm redefineClassInBootstrap test crashes in ConstantPool::compare_entry_to Summary: When constant pool is copied in merge_constant_pools the invokedynamic operands must be copied before. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 4a0dd3799a44 Author: minqi Date: 2013-01-25 04:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4a0dd3799a44 Merge Changeset: 8d1fb417a42d Author: minqi Date: 2013-01-25 13:47 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8d1fb417a42d Merge ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: cf8470eaf7e5 Author: acorn Date: 2013-01-27 21:58 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cf8470eaf7e5 Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/cpu/x86/vm/assembler_x86.hpp ! src/share/vm/classfile/vmSymbols.hpp Changeset: 16fb9f942703 Author: acorn Date: 2013-01-25 15:06 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/16fb9f942703 6479360: PrintClassHistogram improvements Summary: jcmd GC.class_stats (UnlockDiagnosticVMOptions) Reviewed-by: coleenp, hseigel, sla, acorn Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: 0d26ce8e9251 Author: acorn Date: 2013-01-28 10:34 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0d26ce8e9251 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp Changeset: 815957d0203e Author: acorn Date: 2013-01-28 10:55 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/815957d0203e 8004967: Default method cause VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier Reviewed-by: acorn, coleenp Contributed-by: bharadwaj.yadavelli at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 7885e162c30f Author: acorn Date: 2013-01-28 09:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/7885e162c30f Merge Changeset: 9be6cde7919d Author: ctornqvi Date: 2013-01-25 10:14 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg Summary: Add a few utility classes to test/testlibrary to support multi process testing in jtreg tests. Added a test case for one of the utility classes. Also reviewed by Vitaly Davidovich Reviewed-by: brutisso, dholmes, vlivanov, nloodin, mgerdin + test/testlibrary/OutputAnalyzerTest.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolFinder.java + test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java + test/testlibrary/com/oracle/java/testlibrary/OutputBuffer.java + test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/StreamPumper.java Changeset: baf7fac3167e Author: hseigel Date: 2013-02-01 14:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/baf7fac3167e 8006298: Specifying malformed JFR options (-XX:+FlightRecorderOptions) outputs non-sensical error Summary: Change error messages for malformed options so the messages are more useful. Reviewed-by: mikael, kvn, nloodin ! src/share/vm/runtime/arguments.cpp Changeset: 4c75576d18d0 Author: hseigel Date: 2013-02-01 13:30 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4c75576d18d0 Merge Changeset: 9bf5f643d1cf Author: sspitsyn Date: 2013-01-31 20:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9bf5f643d1cf 8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds Summary: Need a support for invokedynamic entry kinds when new and old constant pools are merged. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: dc31f560d6e7 Author: sspitsyn Date: 2013-01-31 20:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc31f560d6e7 8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() Summary: Simple typos that need to be fixed Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp Changeset: 79c1bb8fce5d Author: sspitsyn Date: 2013-01-31 20:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/79c1bb8fce5d 8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic Summary: The invokedynamic bytecode ref to a CP entry needs to be checked and fixed as well. Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 9a9f870325cf Author: minqi Date: 2013-02-01 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9a9f870325cf Merge Changeset: b935589d2807 Author: minqi Date: 2013-02-01 14:42 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/b935589d2807 Merge Changeset: 44c5fcd9cb25 Author: iklam Date: 2013-01-24 10:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/44c5fcd9cb25 8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam at oracle.com ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: 1eae78177059 Author: jiangli Date: 2013-02-01 15:25 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1eae78177059 Merge - make/solaris/makefiles/kernel.make ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.hpp Changeset: dc8ad3fd7050 Author: jiangli Date: 2013-02-01 19:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/dc8ad3fd7050 Merge Changeset: 4102b59539ce Author: ctornqvi Date: 2013-02-01 23:48 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4102b59539ce 8005012: Add WB APIs to better support NMT testing Summary: Add WB API functions to enable better NMT testing Reviewed-by: dholmes, zgu ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/memory/allocation.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memPtr.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 4460acf8687b Author: ctornqvi Date: 2013-02-02 07:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4460acf8687b Merge Changeset: 9fe95b01ad32 Author: ctornqvi Date: 2013-02-02 08:46 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fe95b01ad32 Merge Changeset: 43badbe2717a Author: minqi Date: 2013-01-31 17:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/43badbe2717a 8000973: SA on windows thread inspection is broken Summary: After bug 7161732, On Windows SA could not find correct address of thread_id of OSThread since _thread_id moved to end of the class . The presupposition of the address is following thread handle no longer stands. Fix by adding thread_id field to OSThread and getting the address directly from OSThread. Reviewed-by: nloodin, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/OSThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java Changeset: 65b632b77a97 Author: minqi Date: 2013-02-01 22:41 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/65b632b77a97 Merge Changeset: ff5401ad5635 Author: minqi Date: 2013-02-02 03:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ff5401ad5635 Merge Changeset: 879c6de913d6 Author: ctornqvi Date: 2013-02-02 16:34 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/879c6de913d6 8005013: Add NMT tests Summary: Add tests for the Native Memory Tracking feature, includes regression tests for 8005936 and 8004802 Reviewed-by: zgu, coleenp ! test/TEST.ROOT + test/runtime/NMT/AllocTestType.java + test/runtime/NMT/BaselineWithParameter.java + test/runtime/NMT/CommandLineDetail.java + test/runtime/NMT/CommandLineEmptyArgument.java + test/runtime/NMT/CommandLineInvalidArgument.java + test/runtime/NMT/CommandLineSummary.java + test/runtime/NMT/CommandLineTurnOffNMT.java + test/runtime/NMT/JcmdScale.java + test/runtime/NMT/JcmdWithNMTDisabled.java + test/runtime/NMT/PrintNMTStatistics.java + test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java + test/runtime/NMT/ShutdownTwice.java + test/runtime/NMT/SummaryAfterShutdown.java + test/runtime/NMT/SummarySanityCheck.java Changeset: a7f9a1195d86 Author: ctornqvi Date: 2013-02-02 20:13 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a7f9a1195d86 8000363: runtime/7158988/FieldMonitor.java fails with exception Summary: Removed unnecessary shell script in the test. Reviewed-by: coleenp, sla ! test/runtime/7158988/FieldMonitor.java - test/runtime/7158988/TestFieldMonitor.sh Changeset: 8f696cf1a0fb Author: dsamersoff Date: 2013-02-03 22:28 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8f696cf1a0fb 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: c4ef3380a70b Author: hseigel Date: 2013-02-03 16:49 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/c4ef3380a70b 7197672: There are issues with shared data on windows Summary: On Windows, set rw protection on the CDS file just before removing it. Reviewed-by: dcubed, iklam ! src/share/vm/memory/filemap.cpp Changeset: ce5467120c84 Author: hseigel Date: 2013-02-03 17:12 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ce5467120c84 Merge Changeset: 10d5f25a7c67 Author: hseigel Date: 2013-02-04 08:26 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/10d5f25a7c67 8000968: NPG: UseCompressedKlassPointers asserts with ObjectAlignmentInBytes for > 32G CompressedOops Summary: Pick a base that works for both CompressedOpps alignment and CompressedKlassPtrs alignment. Reviewed-by: kvn, roland ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/runtime/arguments.cpp + test/runtime/8000968/Test8000968.sh Changeset: 24a91505f9d5 Author: emc Date: 2013-02-04 13:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/24a91505f9d5 8006949: Update hotspot for MethodParameters format change 8006907: Hotspot should reject classfiles with multiple MethodParameters attributes Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles Reviewed-by: coleenp, jrose ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp Changeset: 42ea5e1fad75 Author: coleenp Date: 2013-02-04 13:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/42ea5e1fad75 Merge Changeset: ab826603e572 Author: simonis Date: 2013-02-04 13:14 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ab826603e572 8007475: Memory stomp with UseMallocOnly Summary: Fix off-by-one error Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/stackMapFrame.hpp + test/runtime/8007475/StackMapFrameTest.java Changeset: a401757763f9 Author: coleenp Date: 2013-02-04 22:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/a401757763f9 Merge Changeset: 12285410684f Author: dholmes Date: 2013-02-04 23:53 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/12285410684f 8006508: Wrong frame constructor is called in os_linux_x86.cpp Reviewed-by: dholmes, coleenp Contributed-by: Jeremy Manson ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp Changeset: f3ea1af9207a Author: dholmes Date: 2013-02-05 00:59 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f3ea1af9207a Merge Changeset: 454d7cc622ab Author: dcubed Date: 2013-02-06 15:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/454d7cc622ab Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: fcc9e7681d63 Author: vlivanov Date: 2013-02-01 02:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fcc9e7681d63 8006410: allocating without ResourceMark when CompileCommand was specified Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/symbol.cpp Changeset: 60bba1398c51 Author: vlivanov Date: 2013-02-01 03:02 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/60bba1398c51 8005439: no message about inline method if it specifed by CompileCommand Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: e4bb0bda20a4 Author: morris Date: 2013-01-25 16:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/e4bb0bda20a4 8005811: Turn off TierdCompilation in JDK8 trunk for all platforms Summary: Disable tiered compilation in jdk8 because of CodeCache and performance anomalies Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp Changeset: 76341426b645 Author: drchase Date: 2013-01-25 16:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/76341426b645 8006500: compiler/8004741/Test8004741.java fails intermediately Summary: rewrote the test to be more reliable, add test for invalid size exception Reviewed-by: kvn ! test/compiler/8004741/Test8004741.java Changeset: 9fae07c31641 Author: morris Date: 2013-01-25 16:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/9fae07c31641 6518907: cleanup IA64 specific code in Hotspot Summary: removed unused IA64 specific code Reviewed-by: twisti, kvn, dholmes ! agent/src/os/linux/LinuxDebuggerLocal.c ! agent/src/os/linux/libproc.h ! agent/src/os/win32/windbg/sawindbg.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 37c18711a0df Author: roland Date: 2013-02-04 09:11 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/37c18711a0df 8005114: VM is crashing in ciKlass*ciObjArrayKlass::element_klass() if metaspaces are full Summary: missing test for loaded klass in c1 Reviewed-by: kvn ! src/share/vm/c1/c1_Instruction.cpp Changeset: 39901f2f1abe Author: mikael Date: 2013-02-04 10:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/39901f2f1abe 8007403: Incorrect format arguments in adlparse.cpp Reviewed-by: kvn, twisti ! src/share/vm/adlc/adlparse.cpp Changeset: 8bd61471a109 Author: roland Date: 2013-02-04 11:30 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8bd61471a109 8007144: Incremental inlining mistakes some call sites for dead ones and doesn't inline them Summary: wrong detection for dead call sites. Reviewed-by: kvn ! src/share/vm/opto/callGenerator.cpp Changeset: 6a51fc70a15e Author: vlivanov Date: 2013-02-05 08:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/6a51fc70a15e 8006613: adding reason to made_not_compilable Reviewed-by: kvn, vlivanov Contributed-by: Igor Ignatyev ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.cpp Changeset: 4fcf990aa34a Author: drchase Date: 2013-02-06 11:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4fcf990aa34a 8006807: C2 crash due to out of bounds array access in Parse::do_multianewarray Summary: check ndimensions before accessing length[i] element Reviewed-by: kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/parse3.cpp Changeset: d05ff4bf41b3 Author: vlivanov Date: 2013-02-07 12:23 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d05ff4bf41b3 Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp Changeset: db9981fd3124 Author: jprovino Date: 2013-01-23 13:02 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS. Reviewed-by: coleenp, stefank ! make/bsd/makefiles/minimal1.make ! make/excludeSrc.make ! make/linux/makefiles/minimal1.make ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: 8391fdd36e1f Author: dlong Date: 2013-01-27 01:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/8391fdd36e1f Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/heapDumper.cpp Changeset: 3c9bc17b9403 Author: bpittore Date: 2013-02-07 16:05 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/3c9bc17b9403 Merge ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp Changeset: df8462fbe585 Author: vladidan Date: 2013-02-07 20:40 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/df8462fbe585 Merge ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ec0c4951286c Author: stefank Date: 2013-01-29 10:51 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal Summary: When calculating live object regions, make sure that the alignment reserve, at the end of a TLAB, is excluded. Reviewed-by: jmasa, brutisso ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 4700e77d44c1 Author: johnc Date: 2013-02-01 13:17 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/4700e77d44c1 8006894: G1: Number of marking threads missing from PrintFlagsFinal output Summary: Set ConcGCThreads to the calculated number of marking threads. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d9058e388631 Author: mikael Date: 2013-02-01 17:21 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/d9058e388631 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg Summary: Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd at gmail.com. Reviewed-by: coleenp, sspitsyn ! src/share/vm/memory/metaspace.cpp Changeset: 256d3f43c177 Author: johnc Date: 2013-01-31 10:45 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/256d3f43c177 8005875: G1: Kitchensink fails with ParallelGCThreads=0 Summary: Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 80518f4ecf32 Author: jmasa Date: 2013-02-04 12:51 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/80518f4ecf32 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: f2f0cf0f5444 Author: jmasa Date: 2013-02-04 13:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f2f0cf0f5444 Merge Changeset: 06fd03af6ce4 Author: johnc Date: 2013-02-04 13:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/06fd03af6ce4 8001384: G1: assert(!is_null(v)) failed: narrow oop value can never be zero Summary: Flush any deferred card mark before a Java thread exits. Reviewed-by: brutisso, jmasa ! src/share/vm/runtime/thread.cpp Changeset: 84304a77c4e3 Author: johnc Date: 2013-02-04 19:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/84304a77c4e3 Merge Changeset: 95ccff9eee8e Author: jwilhelm Date: 2013-01-28 15:41 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/95ccff9eee8e 6348447: Specifying -XX:OldSize crashes 64-bit VMs Summary: Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd at gmail.com Reviewed-by: ehelin, jmasa ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp Changeset: f90b9bceb8e5 Author: johnc Date: 2013-02-05 09:13 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/f90b9bceb8e5 8005032: G1: Cleanup serial reference processing closures in concurrent marking Summary: Reuse the parallel reference processing oop closures during serial reference processing. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 50d3b37d5bcd Author: johnc Date: 2013-02-05 22:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/50d3b37d5bcd Merge Changeset: 1135141fb97e Author: brutisso Date: 2013-02-08 10:08 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/1135141fb97e Merge ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 412d722168bc Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/412d722168bc Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make - test/runtime/7158988/TestFieldMonitor.sh Changeset: cdb46031e718 Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/cdb46031e718 Added tag hs25-b18 for changeset 412d722168bc ! .hgtags From lana.steuck at oracle.com Wed Feb 13 12:12:29 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 13 Feb 2013 20:12:29 +0000 Subject: hg: jdk8/tl/jdk: 17 new changesets Message-ID: <20130213201754.188E447A3F@hg.openjdk.java.net> Changeset: c5a7ac2a721f Author: ohrstrom Date: 2013-01-31 14:03 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c5a7ac2a721f 8006872: Stop creating four jars with identical content in the new build system. Reviewed-by: erikj ! makefiles/CreateJars.gmk ! makefiles/GensrcSwing.gmk ! makefiles/Setup.gmk Changeset: 35cf77f633c9 Author: tbell Date: 2013-02-01 09:16 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/35cf77f633c9 8006808: mapfile use check in jdk/make/common/shared/Defs-solaris.gmk is throwing 'egrep: syntax error' Summary: Use a valid egrep expression in the non-SPARC case Reviewed-by: dholmes ! make/common/shared/Defs-solaris.gmk Changeset: 5692ebe15321 Author: erikj Date: 2013-02-04 10:58 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5692ebe15321 8007268: build-infra: configure reports Solaris needs gcc for deploy, but logs don't indicate it's used. Reviewed-by: tbell, katleman ! make/common/shared/Sanity.gmk Changeset: 3a2630528661 Author: katleman Date: 2013-02-05 18:54 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3a2630528661 Merge Changeset: 933742f4bb4c Author: katleman Date: 2013-02-07 12:33 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/933742f4bb4c Added tag jdk8-b76 for changeset 3a2630528661 ! .hgtags Changeset: e63e7ee18412 Author: bae Date: 2013-02-01 20:06 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e63e7ee18412 8004801: The image of BufferedImage.TYPE_INT_ARGB is blank. Reviewed-by: prr ! src/share/native/sun/awt/image/awt_parseImage.c ! src/solaris/native/sun/awt/awt_Mlib.c ! src/solaris/native/sun/awt/awt_Mlib.h ! src/windows/native/sun/windows/awt_Mlib.cpp ! src/windows/native/sun/windows/awt_Mlib.h + test/java/awt/image/LookupOp/IntImageReverseTest.java Changeset: 1df2944db538 Author: serb Date: 2013-02-04 19:50 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1df2944db538 8004821: Graphics2D.drawPolygon() fails with IllegalPathStateException Reviewed-by: prr, flar ! src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java + test/sun/java2d/pipe/Test8004821.java Changeset: 8fc3e4015b09 Author: jgodinez Date: 2013-02-04 12:04 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/8fc3e4015b09 8005052: [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE 8005054: [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: fd61fcc1a5a9 Author: leonidr Date: 2013-01-31 18:25 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fd61fcc1a5a9 8007006: [macosx] Closing subwindow loses main window menus Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 452deb976c92 Author: ptbrunet Date: 2013-01-31 18:51 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/452deb976c92 7179482: Component.accessibleContext and JComponent.accessibleContext refactoring Reviewed-by: art, anthony, alexsch ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/javax/swing/JComponent.java Changeset: 0b56a169295f Author: pchelko Date: 2013-02-04 13:54 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0b56a169295f 8005405: [macosx] Drag and Drop: wrong animation when dropped outside any drop target. Summary: Changed the calculation of the drag image offset Reviewed-by: serb, kizune ! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/macosx/native/sun/awt/CDragSource.m Changeset: 171443b1eb3b Author: kshefov Date: 2013-02-04 16:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/171443b1eb3b 7077259: [TEST_BUG] [macosx] Test work correctly only when default L&F is Metal Reviewed-by: serb, alexsch ! test/javax/swing/JSlider/4252173/bug4252173.java ! test/javax/swing/JSpinner/6532833/bug6532833.java ! test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java Changeset: 0e929be3a9da Author: lana Date: 2013-02-05 11:10 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e929be3a9da Merge Changeset: f26b539bf1d5 Author: lana Date: 2013-02-05 11:11 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f26b539bf1d5 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: b2fc8e31cecc Author: lana Date: 2013-02-11 16:14 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b2fc8e31cecc Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: ff80a6b2ae9b Author: lana Date: 2013-02-13 11:25 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ff80a6b2ae9b Merge Changeset: a5aad284904e Author: lana Date: 2013-02-13 11:57 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/a5aad284904e Merge From Alan.Bateman at oracle.com Wed Feb 13 12:54:45 2013 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 13 Feb 2013 20:54:45 +0000 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <51198FBA.5090409@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> Message-ID: <511BFD95.103@oracle.com> On 12/02/2013 00:41, Daniel D. Daugherty wrote: > Greetings, > > Right after I pushed the changeset for 8007420, Alan B let me know that > he had updated the JLI/JPLIS test infrastructure to support running the > tests with a JRE instead of a JDK. Alan made his changes in early > January, > but I had developed this test back in December. I never checked to see > if the test on which I based my new test had changed. Sigh... > > I filed a new bug to update the new test. Here is the webrev URL: > > http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ > > As always, comments and suggestions are welcome. > > Dan Looks good to me too, and sorry I didn't spot this on the initial review. -Alan From kumar.x.srinivasan at oracle.com Wed Feb 13 13:04:06 2013 From: kumar.x.srinivasan at oracle.com (kumar.x.srinivasan at oracle.com) Date: Wed, 13 Feb 2013 21:04:06 +0000 Subject: hg: jdk8/tl/jdk: 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Message-ID: <20130213210430.BEEF847A44@hg.openjdk.java.net> Changeset: 83c09292f5ad Author: ksrini Date: 2013-02-13 12:56 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/83c09292f5ad 8005750: [parfait] Memory leak at jdk/src/share/bin/parse_manifest.c Reviewed-by: jjh ! src/share/bin/parse_manifest.c From daniel.daugherty at oracle.com Wed Feb 13 13:08:12 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 13 Feb 2013 14:08:12 -0700 Subject: JVM/TI code review request (XS and M) (7182152) In-Reply-To: <511BFD95.103@oracle.com> References: <510C1DC6.2010607@oracle.com> <510C524D.8080908@oracle.com> <510C55DF.3000002@oracle.com> <5112B823.4040502@oracle.com> <511908CE.7040706@oracle.com> <51198FBA.5090409@oracle.com> <511BFD95.103@oracle.com> Message-ID: <511C00BC.1050100@oracle.com> On 2/13/13 1:54 PM, Alan Bateman wrote: > On 12/02/2013 00:41, Daniel D. Daugherty wrote: >> Greetings, >> >> Right after I pushed the changeset for 8007420, Alan B let me know that >> he had updated the JLI/JPLIS test infrastructure to support running the >> tests with a JRE instead of a JDK. Alan made his changes in early >> January, >> but I had developed this test back in December. I never checked to see >> if the test on which I based my new test had changed. Sigh... >> >> I filed a new bug to update the new test. Here is the webrev URL: >> >> http://cr.openjdk.java.net/~dcubed/8007935-webrev/0-jdk8-tl/ >> >> As always, comments and suggestions are welcome. >> >> Dan > Looks good to me too, and sorry I didn't spot this on the initial review. > > -Alan Thanks for the review, Alan! I'll be pushing the fix shortly... Dan From daniel.daugherty at oracle.com Wed Feb 13 13:23:16 2013 From: daniel.daugherty at oracle.com (daniel.daugherty at oracle.com) Date: Wed, 13 Feb 2013 21:23:16 +0000 Subject: hg: jdk8/tl/jdk: 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Message-ID: <20130213212336.BAB1B47A4B@hg.openjdk.java.net> Changeset: b13247d5408d Author: dcubed Date: 2013-02-13 13:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/b13247d5408d 8007935: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh should use $COMPILEJAVA for javac Reviewed-by: sspitsyn, alanb ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh From karen.kinnear at oracle.com Wed Feb 13 13:33:42 2013 From: karen.kinnear at oracle.com (karen.kinnear at oracle.com) Date: Wed, 13 Feb 2013 21:33:42 +0000 Subject: hg: jdk8/tl/jdk: 2 new changesets Message-ID: <20130213213406.00F8047A4C@hg.openjdk.java.net> Changeset: 4f520ce7ba3f Author: acorn Date: 2013-02-13 16:09 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/4f520ce7ba3f 8007888: jdk fix default method: VerifyError: Illegal use of nonvirtual Summary: Recognize VM generated method in old verifier. With 8004967 Reviewed-by: coleenp, acorn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/javavm/export/jvm.h ! src/share/native/common/check_code.c Changeset: e6f34051c60c Author: acorn Date: 2013-02-13 16:15 -0500 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e6f34051c60c Merge From david.holmes at oracle.com Wed Feb 13 22:04:37 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 14 Feb 2013 16:04:37 +1000 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: References: Message-ID: <511C7E75.5020807@oracle.com> Hold on! No just kidding :) Can I assume from the CR synopsis this will also be backported at some point? Not that you need any more Reviews, but Reviewed. David On 14/02/2013 2:19 AM, Staffan Larsen wrote: > Please review this trivial fix to remove some unexpected debug output from SA. > > webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ > > Thanks, > /Staffan > From joe.darcy at oracle.com Wed Feb 13 23:05:28 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Thu, 14 Feb 2013 07:05:28 +0000 Subject: hg: jdk8/tl/langtools: 8001457: New tests needed for library-side changes for repeating annotations Message-ID: <20130214070531.6FABF47A6A@hg.openjdk.java.net> Changeset: 63872da94576 Author: darcy Date: 2013-02-13 23:05 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/63872da94576 8001457: New tests needed for library-side changes for repeating annotations Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java From rickard.backman at oracle.com Thu Feb 14 00:58:40 2013 From: rickard.backman at oracle.com (rickard.backman at oracle.com) Date: Thu, 14 Feb 2013 08:58:40 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8008088: SA can hang the VM Message-ID: <20130214085844.A17AD47A6E@hg.openjdk.java.net> Changeset: 2394a89e89f4 Author: rbackman Date: 2013-02-13 09:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2394a89e89f4 8008088: SA can hang the VM Reviewed-by: mgronlun, sla, dholmes ! agent/src/os/bsd/libproc_impl.c ! agent/src/os/bsd/libproc_impl.h ! agent/src/os/bsd/ps_proc.c ! agent/src/os/linux/libproc_impl.c ! agent/src/os/linux/libproc_impl.h ! agent/src/os/linux/ps_proc.c From david.holmes at oracle.com Thu Feb 14 02:40:32 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 14 Feb 2013 20:40:32 +1000 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> Message-ID: <511CBF20.5000107@oracle.com> On 14/02/2013 1:05 AM, Staffan Larsen wrote: > Please review the following change. > > When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. David > webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ > > Thanks, > /Staffan > > [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html > From staffan.larsen at oracle.com Thu Feb 14 04:04:05 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:04:05 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <511CBF20.5000107@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> Message-ID: On 14 feb 2013, at 11:40, David Holmes wrote: > On 14/02/2013 1:05 AM, Staffan Larsen wrote: >> Please review the following change. >> >> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. > > I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. > I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. So do I... /Staffan > > David > >> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >> >> Thanks, >> /Staffan >> >> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >> From staffan.larsen at oracle.com Thu Feb 14 04:07:12 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:07:12 +0100 Subject: RFR(XS): 8004840 Jstack seems to output unnecessary information in 7u9 In-Reply-To: <511C7E75.5020807@oracle.com> References: <511C7E75.5020807@oracle.com> Message-ID: <170FCBA7-C49C-4688-95E0-A68A04F2EC00@oracle.com> Yes, I plan to backport this to 7u. Thanks for all the reviews, /Staffan On 14 feb 2013, at 07:04, David Holmes wrote: > Hold on! No just kidding :) > > Can I assume from the CR synopsis this will also be backported at some point? > > Not that you need any more Reviews, but Reviewed. > > David > > On 14/02/2013 2:19 AM, Staffan Larsen wrote: >> Please review this trivial fix to remove some unexpected debug output from SA. >> >> webrev: http://cr.openjdk.java.net/~sla/8004840/webrev.00/ >> >> Thanks, >> /Staffan >> From markus.gronlund at oracle.com Thu Feb 14 04:24:28 2013 From: markus.gronlund at oracle.com (=?iso-8859-1?B?TWFya3VzIEdy9m5sdW5k?=) Date: Thu, 14 Feb 2013 04:24:28 -0800 (PST) Subject: RFR(XS): 8008208: Event tracing for code cache subsystems can give wrong timestamps Message-ID: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> Greetings, ? Kindly asking for reviews and a putback sponsorship for the following change: ? Bugid: http://bugs.sun.com/view_bug.do?bug_id=8008208 ? Webrev: http://cr.openjdk.java.net/~mgronlun/8008208/webrev01/ ? Please also note this is for hs24. ? Thanks Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/d0c6146f/attachment.html From staffan.larsen at oracle.com Thu Feb 14 04:44:51 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:44:51 +0100 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> Message-ID: <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> Here is an updated webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.01/ This uses the code from linux (adapted to the OS X API:s) to call ptrace and make sure we are stopped by the right signal. Thanks, /Staffan On 14 feb 2013, at 13:04, Staffan Larsen wrote: > > On 14 feb 2013, at 11:40, David Holmes wrote: > >> On 14/02/2013 1:05 AM, Staffan Larsen wrote: >>> Please review the following change. >>> >>> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. >> >> I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? > > I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. > >> I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. > > So do I... > > /Staffan > >> >> David >> >>> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >>> >>> Thanks, >>> /Staffan >>> >>> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >>> > From staffan.larsen at oracle.com Thu Feb 14 04:46:44 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Thu, 14 Feb 2013 13:46:44 +0100 Subject: RFR(XS): 8008208: Event tracing for code cache subsystems can give wrong timestamps In-Reply-To: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> References: <54ec94cc-250a-4e0e-9476-e0e341e76e51@default> Message-ID: Looks simple enough! (not a Reviewer) I can sponsor this putback. Thanks, /Staffan On 14 feb 2013, at 13:24, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8008208 > > Webrev: http://cr.openjdk.java.net/~mgronlun/8008208/webrev01/ > > Please also note this is for hs24. > > Thanks > Markus -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/79927d9f/attachment.html From chris.hegarty at oracle.com Thu Feb 14 05:01:56 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Thu, 14 Feb 2013 13:01:56 +0000 Subject: hg: jdk8/tl/jdk: 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Message-ID: <20130214130218.73A3C47A79@hg.openjdk.java.net> Changeset: 153884b550f0 Author: chegar Date: 2013-02-14 13:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/153884b550f0 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Reviewed-by: mcimadamore ! test/ProblemList.txt From erik.gahlin at oracle.com Thu Feb 14 05:47:54 2013 From: erik.gahlin at oracle.com (Erik Gahlin) Date: Thu, 14 Feb 2013 14:47:54 +0100 Subject: RFR (XS) 8008089: Delete OS dependent check in JdkFinder.getExecutable() In-Reply-To: <511B6134.3010005@oracle.com> References: <511B6134.3010005@oracle.com> Message-ID: <511CEB0A.5040405@oracle.com> Looks good, but I'm no official reviewer. Erik Yekaterina Kantserova skrev 2013-02-13 10:47: > Hi everyone, > > This small fixconcerns jdk.testlibrary.JdkFinder utility class. The > check below is too OS dependent and should be deleted. > ... > binPath += File.separatorChar + "bin" + File.separatorChar + > executable; > File toolFile = new File(binPath); > ==> if (!toolFile.exists()) { > throw new RuntimeException(binPath + " does not exist"); > } > ... > > On windows if executable is specified as e.g. 'java', without '.exe', > the File exists() will fail. But it's still possible to run executable. > > > Webrev: > http://cr.openjdk.java.net/~ykantser/8008089/webrev.00/ > > Bug: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008089 > > Testing: > JPRT > > Thanks, > Katja -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130214/259d7422/attachment.html From staffan.larsen at oracle.com Thu Feb 14 06:18:09 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Thu, 14 Feb 2013 14:18:09 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8004840: Jstack seems to output unnecessary information in 7u9 Message-ID: <20130214141814.44ED747A82@hg.openjdk.java.net> Changeset: 49618582fc5b Author: sla Date: 2013-02-14 13:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/49618582fc5b 8004840: Jstack seems to output unnecessary information in 7u9 Reviewed-by: dholmes, coleenp, sspitsyn, rbackman ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java From mandy.chung at oracle.com Thu Feb 14 09:44:18 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 17:44:18 +0000 Subject: hg: jdk8/tl/langtools: 8006225: tools/jdeps/Basic.java failes with AssertionError Message-ID: <20130214174421.CF37B47A95@hg.openjdk.java.net> Changeset: 88286a36bb34 Author: mchung Date: 2013-02-14 09:43 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/88286a36bb34 8006225: tools/jdeps/Basic.java failes with AssertionError Reviewed-by: alanb + src/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/share/classes/com/sun/tools/jdeps/Archive.java ! src/share/classes/com/sun/tools/jdeps/JdepsTask.java ! test/tools/jdeps/Basic.java From mike.duigou at oracle.com Thu Feb 14 09:55:14 2013 From: mike.duigou at oracle.com (mike.duigou at oracle.com) Date: Thu, 14 Feb 2013 17:55:14 +0000 Subject: hg: jdk8/tl/jdk: 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Message-ID: <20130214175538.236EC47A96@hg.openjdk.java.net> Changeset: e57019d2f34a Author: mduigou Date: 2013-02-13 14:50 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e57019d2f34a 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Reviewed-by: mduigou, martin Contributed-by: Peter Levart ! src/share/classes/java/util/IdentityHashMap.java From mandy.chung at oracle.com Thu Feb 14 11:09:30 2013 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Thu, 14 Feb 2013 19:09:30 +0000 Subject: hg: jdk8/tl/jdk: 8007736: VerifyError for use of static method in interface Message-ID: <20130214190943.2B08D47A98@hg.openjdk.java.net> Changeset: 1405ad6afb1e Author: bharadwaj Date: 2013-02-14 11:09 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1405ad6afb1e 8007736: VerifyError for use of static method in interface Reviewed-by: mchung ! src/share/native/common/check_code.c + test/vm/verifier/TestStaticIF.java From dmitry.degrave at oracle.com Thu Feb 14 13:51:11 2013 From: dmitry.degrave at oracle.com (dmitry.degrave at oracle.com) Date: Thu, 14 Feb 2013 21:51:11 +0000 Subject: hg: jdk8/tl/corba: 7199858: Marshal exception is wrong Message-ID: <20130214215111.D1D6247AA0@hg.openjdk.java.net> Changeset: e725dd195858 Author: dmeetry Date: 2013-02-15 01:49 +0400 URL: http://hg.openjdk.java.net/jdk8/tl/corba/rev/e725dd195858 7199858: Marshal exception is wrong Reviewed-by: lancea ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java From karen.kinnear at oracle.com Thu Feb 14 14:02:54 2013 From: karen.kinnear at oracle.com (karen.kinnear at oracle.com) Date: Thu, 14 Feb 2013 22:02:54 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007736: VerifyError for static method in interface Message-ID: <20130214220256.4E38047AA1@hg.openjdk.java.net> Changeset: 3a531d40ad93 Author: acorn Date: 2013-02-14 14:33 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/3a531d40ad93 8007736: VerifyError for static method in interface Reviewed-by: dholmes, acorn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/vm/classfile/verifier.cpp + test/runtime/8007736/TestStaticIF.java From xueming.shen at oracle.com Thu Feb 14 17:19:09 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Fri, 15 Feb 2013 01:19:09 +0000 Subject: hg: jdk8/tl/jdk: 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Message-ID: <20130215011921.2050947AB0@hg.openjdk.java.net> Changeset: 1ce1a307cded Author: sherman Date: 2013-02-15 01:17 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1ce1a307cded 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Summary: to use j.t.ZoneId zone name to keep round-trip Reviewed-by: okutsu ! test/java/util/Calendar/JavatimeTest.java From david.holmes at oracle.com Thu Feb 14 23:19:27 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 15 Feb 2013 17:19:27 +1000 Subject: RFR(S): 8008102: SA on OS X does not stop the attached process In-Reply-To: <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> References: <1038A172-74A2-409B-9A27-81AC880B8DCC@oracle.com> <511CBF20.5000107@oracle.com> <757170B3-ED6D-4C76-989C-5790EC829AF0@oracle.com> Message-ID: <511DE17F.8000008@oracle.com> On 14/02/2013 10:44 PM, Staffan Larsen wrote: > Here is an updated webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.01/ > > This uses the code from linux (adapted to the OS X API:s) to call ptrace and make sure we are stopped by the right signal. Looks okay to me. Thanks, David > Thanks, > /Staffan > > On 14 feb 2013, at 13:04, Staffan Larsen wrote: > >> >> On 14 feb 2013, at 11:40, David Holmes wrote: >> >>> On 14/02/2013 1:05 AM, Staffan Larsen wrote: >>>> Please review the following change. >>>> >>>> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM keeps running while SA inspects it can lead to all kinds of inconsistencies in SA. The proposed solution uses ptrace to attach to the process to keep it from running. Ptrace works a little bit differently on OS X, than on linux. For example, there is no need to attach to all threads, just attaching to the main process is enough. Additionally, the race that was recently found on linux [1] does not seem to be present on OS X (or at least I have not been able to reproduce it), so I have omitted that code. >>> >>> I would question how you can know for certain that the signal race [1] can not happen on OSX? Would it not be prudent (and lend itself to future code sharing) to follow the same approach as now used on Linux? >> >> I did not say I was certain, merely that I have not been able to reproduce it. I think there are big differences in how ptrace is implemented on Linux and OS X that explains why I don't see the same race. Anyway, you are right that we should be prudent and employ the same technique on OS X. New webrev coming. >> >>> I kind of dismayed that the OSX SA support has been found to be in such poor shape. Makes me wonder what else in that port is lacking robustness. >> >> So do I... >> >> /Staffan >> >>> >>> David >>> >>>> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/ >>>> >>>> Thanks, >>>> /Staffan >>>> >>>> [1] http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html >>>> >> > From david.holmes at oracle.com Fri Feb 15 01:05:49 2013 From: david.holmes at oracle.com (david.holmes at oracle.com) Date: Fri, 15 Feb 2013 09:05:49 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007639: Workaround for ccache in vm.make is incorrect Message-ID: <20130215090552.8FA3247AC2@hg.openjdk.java.net> Changeset: e7e9e08147fc Author: mikael Date: 2013-02-14 12:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/e7e9e08147fc 8007639: Workaround for ccache in vm.make is incorrect Summary: Fixed makefile logic to correctly special case JRE_RELEASE_VERSION and vm_version.o Reviewed-by: dholmes, erikj ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make From john.coomes at oracle.com Fri Feb 15 02:51:08 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:08 +0000 Subject: hg: hsx/hotspot-rt/corba: Added tag jdk8-b77 for changeset 35684a40c584 Message-ID: <20130215105110.6B98A47ADE@hg.openjdk.java.net> Changeset: 27d6368ae8ba Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/corba/rev/27d6368ae8ba Added tag jdk8-b77 for changeset 35684a40c584 ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:04 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:04 +0000 Subject: hg: hsx/hotspot-rt: Added tag jdk8-b77 for changeset 3933eebc659d Message-ID: <20130215105104.CBB1047ADD@hg.openjdk.java.net> Changeset: 45dcccc6d221 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/rev/45dcccc6d221 Added tag jdk8-b77 for changeset 3933eebc659d ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:14 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:14 +0000 Subject: hg: hsx/hotspot-rt/jaxp: 3 new changesets Message-ID: <20130215105124.D39D047ADF@hg.openjdk.java.net> Changeset: f0ad3747b40e Author: emc Date: 2013-02-05 14:56 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/f0ad3747b40e 8007389: Remove uses of _ as identifier in jaxp Reviewed-by: lancea, joehw ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java Changeset: 573e789c187a Author: lana Date: 2013-02-11 16:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/573e789c187a Merge Changeset: 00958c5a7070 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxp/rev/00958c5a7070 Added tag jdk8-b77 for changeset 573e789c187a ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:51:30 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:51:30 +0000 Subject: hg: hsx/hotspot-rt/jaxws: Added tag jdk8-b77 for changeset 64dfba1bad16 Message-ID: <20130215105134.403E747AE0@hg.openjdk.java.net> Changeset: 391de4c992d1 Author: katleman Date: 2013-02-14 11:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jaxws/rev/391de4c992d1 Added tag jdk8-b77 for changeset 64dfba1bad16 ! .hgtags From john.coomes at oracle.com Fri Feb 15 02:52:31 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 10:52:31 +0000 Subject: hg: hsx/hotspot-rt/jdk: 40 new changesets Message-ID: <20130215110051.9A56347AE1@hg.openjdk.java.net> Changeset: e63e7ee18412 Author: bae Date: 2013-02-01 20:06 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e63e7ee18412 8004801: The image of BufferedImage.TYPE_INT_ARGB is blank. Reviewed-by: prr ! src/share/native/sun/awt/image/awt_parseImage.c ! src/solaris/native/sun/awt/awt_Mlib.c ! src/solaris/native/sun/awt/awt_Mlib.h ! src/windows/native/sun/windows/awt_Mlib.cpp ! src/windows/native/sun/windows/awt_Mlib.h + test/java/awt/image/LookupOp/IntImageReverseTest.java Changeset: 1df2944db538 Author: serb Date: 2013-02-04 19:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/1df2944db538 8004821: Graphics2D.drawPolygon() fails with IllegalPathStateException Reviewed-by: prr, flar ! src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java + test/sun/java2d/pipe/Test8004821.java Changeset: 8fc3e4015b09 Author: jgodinez Date: 2013-02-04 12:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/8fc3e4015b09 8005052: [parfait] #416 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE 8005054: [parfait] #417 X11SurfaceData.c UNINITIALISED OR MISSING RETURN VALUE Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: fd61fcc1a5a9 Author: leonidr Date: 2013-01-31 18:25 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd61fcc1a5a9 8007006: [macosx] Closing subwindow loses main window menus Reviewed-by: anthony ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 452deb976c92 Author: ptbrunet Date: 2013-01-31 18:51 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/452deb976c92 7179482: Component.accessibleContext and JComponent.accessibleContext refactoring Reviewed-by: art, anthony, alexsch ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/javax/swing/JComponent.java Changeset: 0b56a169295f Author: pchelko Date: 2013-02-04 13:54 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0b56a169295f 8005405: [macosx] Drag and Drop: wrong animation when dropped outside any drop target. Summary: Changed the calculation of the drag image offset Reviewed-by: serb, kizune ! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/macosx/native/sun/awt/CDragSource.m Changeset: 171443b1eb3b Author: kshefov Date: 2013-02-04 16:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/171443b1eb3b 7077259: [TEST_BUG] [macosx] Test work correctly only when default L&F is Metal Reviewed-by: serb, alexsch ! test/javax/swing/JSlider/4252173/bug4252173.java ! test/javax/swing/JSpinner/6532833/bug6532833.java ! test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java Changeset: 0e929be3a9da Author: lana Date: 2013-02-05 11:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/0e929be3a9da Merge Changeset: a343d280bd8c Author: jfranck Date: 2013-01-29 10:32 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a343d280bd8c 8004698: Implement Core Reflection for Type Annotations Reviewed-by: darcy ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java + src/share/classes/java/lang/reflect/AnnotatedArrayType.java + src/share/classes/java/lang/reflect/AnnotatedParameterizedType.java + src/share/classes/java/lang/reflect/AnnotatedType.java + src/share/classes/java/lang/reflect/AnnotatedTypeVariable.java + src/share/classes/java/lang/reflect/AnnotatedWildcardType.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/lang/reflect/TypeVariable.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/LangReflectAccess.java ! src/share/classes/sun/reflect/ReflectionFactory.java + src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java + src/share/classes/sun/reflect/annotation/TypeAnnotation.java + src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c + test/java/lang/annotation/TypeAnnotationReflection.java + test/java/lang/annotation/TypeParamAnnotation.java Changeset: 5097fe015763 Author: jfranck Date: 2013-01-31 10:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5097fe015763 8005712: Simplify support for repeating annotations in j.l.r.AnnotatedElement 8004919: AnnotationSupport uses possibly half-constructed AnnotationType instances Summary: Implements the simplified semantics for repeating annotations and removes the incorrect obtaining of an AnnotationType Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Container.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainer.java Changeset: 3f766f58c48a Author: dbuck Date: 2013-01-31 10:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3f766f58c48a 7042126: (alt-rt) HashMap.clone implementation should be re-examined Summary: Test case for cr7042126. Issue only found in OracleJDK, but test case is valid for OpenJDK as well Reviewed-by: mduigou + test/java/util/HashMap/HashMapCloneLeak.java Changeset: 857d99bef21d Author: sherman Date: 2013-01-31 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/857d99bef21d 8005394: Base64.Decoder/Encoder.wrap(XStream) don't throw NPE for null args passed Summary: to check null for dec/enc.wrap methods Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: 278397f752da Author: darcy Date: 2013-01-31 12:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/278397f752da 8005832: Remove java.lang.annotation.{ContainedBy, ContainerFor} annotation types Reviewed-by: mduigou - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java ! src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java Changeset: a5f38e811ab0 Author: darcy Date: 2013-01-31 12:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a5f38e811ab0 8007115: Refactor regression tests for java.lang.reflect.Parameter Reviewed-by: emc ! test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: e5ce312a5b10 Author: sherman Date: 2013-01-31 13:13 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e5ce312a5b10 8007298: Base64.getMimeDecoder().decode() throws IAE for a single non-base64 character 8006526: Base64.Decoder.decode(String) spec contains a copy-paste mistake Summary: to ignore single non-base64 char in mime decoding Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: cff8d7768d72 Author: mduigou Date: 2013-01-31 13:27 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cff8d7768d72 8006709: Add minimal support of MacOSX platform for NetBeans Projects Summary: Adds support for MacOSX platform and architecture detection. Other minor updates (-source/target 1.8) Reviewed-by: ohair + make/netbeans/common/architectures/arch-x86_64.properties + make/netbeans/common/architectures/name-Macosx.properties ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/netbeans/common/make.xml ! make/netbeans/common/shared.xml Changeset: 771551bc9e02 Author: lana Date: 2013-01-31 10:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/771551bc9e02 Merge Changeset: e822b4d50a5b Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e822b4d50a5b Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java Changeset: a09a37cff333 Author: mchung Date: 2013-01-31 14:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/a09a37cff333 6355704: (fmt) %f formatting of BigDecimals is incorrect Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/BasicBigDecimal.java Changeset: d2495b9984fa Author: weijun Date: 2013-02-01 07:39 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/d2495b9984fa 8006564: Test sun/security/util/Oid/S11N.sh fails with timeout on Linux 32-bit Reviewed-by: alanb + test/sun/security/util/Oid/S11N.java - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: 17b643956999 Author: chegar Date: 2013-02-01 06:51 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/17b643956999 8006395: Race in async socket close on Linux Reviewed-by: alanb, dsamersoff ! src/solaris/native/java/net/linux_close.c + test/java/net/Socket/asyncClose/Race.java Changeset: ea8f3ca83501 Author: ksrini Date: 2013-02-01 07:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ea8f3ca83501 8006536: [launcher] removes trailing slashes on arguments Reviewed-by: ksrini, akhil Contributed-by: jviswana at linux.vnet.ibm.com ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java Changeset: 5e47ee4d7196 Author: alanb Date: 2013-02-01 21:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5e47ee4d7196 5035569: Formatter should document that %a conversion unsupported for BigDecimal args Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java Changeset: cba578db5f39 Author: darcy Date: 2013-02-01 19:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/cba578db5f39 6964528: Double.toHexString(double d) String manipulation with + in an append of StringBuilder Reviewed-by: shade ! src/share/classes/java/lang/Double.java Changeset: c1aaa8451547 Author: ksrini Date: 2013-02-01 22:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c1aaa8451547 8003549: (pack200) assertion errors when processing lambda class files with IMethods Summary: add more check for opcode, sketch provided by jrose Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! test/ProblemList.txt + test/tools/pack200/InstructionTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: 6c88a12ea834 Author: ksrini Date: 2013-02-01 22:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/6c88a12ea834 8007428: [launcher] add tools/launcher/FXLauncherTest.java to ProblemList.txt Reviewed-by: mchung ! test/ProblemList.txt Changeset: ee83319029a5 Author: chegar Date: 2013-02-02 17:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/ee83319029a5 8007322: untangle ftp protocol from general networking URL tests Reviewed-by: alanb ! test/java/net/URL/Constructor.java ! test/java/net/URL/HandlerLoop.java ! test/java/net/URL/Test.java ! test/java/net/URL/URIToURLTest.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls ! test/java/net/URLConnection/RequestProperties.java ! test/java/net/URLConnection/RequestPropertyValues.java + test/sun/net/ftp/EncDec.doc + test/sun/net/ftp/MarkResetTest.java + test/sun/net/ftp/MarkResetTest.sh - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/ProxyTest.java Changeset: 25831e7009c4 Author: ksrini Date: 2013-02-02 12:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/25831e7009c4 8007135: tools/launcher/VersionCheck.java failing with new tool jabswitch Reviewed-by: ksrini, mduigou Contributed-by: ragini.prasad at oracle.com ! test/tools/launcher/VersionCheck.java Changeset: 308d1362b60a Author: dmeetry Date: 2013-02-03 18:20 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/308d1362b60a 6471906: java.lang.NegativeArraySizeException in tenToThe Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/math/BigDecimal.java Changeset: 962d6612cace Author: dsamersoff Date: 2013-02-03 21:39 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/962d6612cace 8002048: Protocol to discovery of manageable Java processes on a network Summary: Introduce a protocol to discover manageble Java instances across a network subnet, JDP Reviewed-by: sla, dfuchs ! src/share/classes/sun/management/Agent.java + src/share/classes/sun/management/jdp/JdpBroadcaster.java + src/share/classes/sun/management/jdp/JdpController.java + src/share/classes/sun/management/jdp/JdpException.java + src/share/classes/sun/management/jdp/JdpGenericPacket.java + src/share/classes/sun/management/jdp/JdpJmxPacket.java + src/share/classes/sun/management/jdp/JdpPacket.java + src/share/classes/sun/management/jdp/JdpPacketReader.java + src/share/classes/sun/management/jdp/JdpPacketWriter.java + src/share/classes/sun/management/jdp/package-info.java + test/sun/management/jdp/JdpClient.java + test/sun/management/jdp/JdpDoSomething.java + test/sun/management/jdp/JdpTest.sh + test/sun/management/jdp/JdpUnitTest.java Changeset: 5bf1c9e6be60 Author: vinnie Date: 2013-02-04 17:20 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/5bf1c9e6be60 8006994: Cleanup PKCS12 tests to ensure streams get closed Reviewed-by: mullan ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StorePasswordTest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/pkcs12/StoreTrustedCertTest.java Changeset: e202f43a8b8a Author: sherman Date: 2013-02-04 11:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e202f43a8b8a 8006295: Base64.Decoder.wrap(java.io.InputStream) returns InputStream which throws unspecified IOException on attempt to decode invalid Base64 byte stream 8006315: Base64.Decoder decoding methods are not consistent in treating non-padded data 8006530: Base64.getMimeDecoder().decode() throws exception for non-base64 character after adding = Summary: updated the spec to describe the expected behave explicitly and the implementation to follow Reviewed-by: alanb, chegar, lancea ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: e04467fa13af Author: darcy Date: 2013-02-04 17:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e04467fa13af 8007113: Upgrade AnnotatedElement.isAnnotionPresent to be a default method Reviewed-by: chegar, jfranck ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java Changeset: fd37f0846653 Author: lana Date: 2013-02-04 22:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/fd37f0846653 Merge Changeset: 9ffcd758e2be Author: jbachorik Date: 2013-02-05 12:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/9ffcd758e2be 7170447: Intermittent DeadListenerTest.java failure Summary: Due to asynchronous nature of processing server notifications it may happen that an "unregister" notification ha$ Reviewed-by: sjiang ! test/javax/management/remote/mandatory/notif/DeadListenerTest.java Changeset: 3119f0ebb58d Author: jbachorik Date: 2013-02-05 12:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/3119f0ebb58d 8005791: Remove java.beans.* imports from com.sun.jmx.mbeanserver.Introspector Reviewed-by: rbackman ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: e526277b51be Author: vinnie Date: 2013-02-05 14:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/e526277b51be 8007483: attributes are ignored when loading keys from a PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/sun/security/pkcs12/StorePasswordTest.java Changeset: f26b539bf1d5 Author: lana Date: 2013-02-05 11:11 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/f26b539bf1d5 Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: b2fc8e31cecc Author: lana Date: 2013-02-11 16:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/b2fc8e31cecc Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java - test/java/net/URL/abnormal_http_urls - test/java/net/URL/ftp_urls - test/java/net/URL/jar_urls - test/java/net/URL/normal_http_urls - test/java/net/URL/runconstructor.sh - test/java/net/URL/share_file_urls - test/java/net/URL/win32_file_urls - test/sun/net/www/EncDec.doc - test/sun/net/www/MarkResetTest.java - test/sun/net/www/MarkResetTest.sh - test/sun/security/util/Oid/S11N.sh - test/sun/security/util/Oid/SerialTest.java Changeset: c1304eb051f6 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/c1304eb051f6 Added tag jdk8-b77 for changeset b2fc8e31cecc ! .hgtags From john.coomes at oracle.com Fri Feb 15 03:02:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 15 Feb 2013 11:02:41 +0000 Subject: hg: hsx/hotspot-rt/langtools: 21 new changesets Message-ID: <20130215110339.43F4D47AE2@hg.openjdk.java.net> Changeset: cbcd9b484759 Author: vromero Date: 2013-01-27 19:38 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/cbcd9b484759 8006944: javac, combo tests should print out the number of threads used Reviewed-by: mcimadamore ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java Changeset: 950d8195a5a4 Author: jjg Date: 2013-01-30 09:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/950d8195a5a4 8007096: DocLint parsing problems with some comments Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java + test/tools/doclint/EndWithIdentifierTest.java + test/tools/doclint/EndWithIdentifierTest.out + test/tools/doclint/UnfinishedInlineTagTest.java + test/tools/doclint/UnfinishedInlineTagTest.out Changeset: c924291865e5 Author: jjg Date: 2013-01-30 09:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/c924291865e5 8007034: debug printer for javac internals Reviewed-by: mcimadamore + test/tools/javac/lib/DPrinter.java Changeset: 8e4c22acebeb Author: darcy Date: 2013-01-31 12:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8e4c22acebeb 8007313: Remove use of {ContainerFor/ContainedBy} from langtools Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java Changeset: b7cb3d7ade25 Author: lana Date: 2013-01-31 10:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/b7cb3d7ade25 Merge Changeset: 7b269e916e06 Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/7b269e916e06 Merge Changeset: bec996065c45 Author: darcy Date: 2013-01-31 18:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bec996065c45 8007351: Malformed copyright statements in typeAnnotations test directory Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/TargetTypes.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java ! test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java Changeset: 3ab64e4293a1 Author: jjg Date: 2013-01-31 19:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3ab64e4293a1 8007329: minor issues in impl class hierarchry for DCTree.* classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/DCTree.java Changeset: 3d97a9a7a82b Author: jjg Date: 2013-01-31 19:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/3d97a9a7a82b 8004353: Generated html is wrong for overview.html; content has incorrect css footer class Reviewed-by: jjg Contributed-by: roger.riggs at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Changeset: 8590c20af3ce Author: jjg Date: 2013-02-01 08:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/8590c20af3ce 8007306: DPrinter: improve display of impl-class, internal tag/kind, and external tag/kind Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java Changeset: 6df931ce1a81 Author: jjg Date: 2013-02-01 08:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/6df931ce1a81 8007305: DPrinter: provide better usage message Reviewed-by: mcimadamore ! test/tools/javac/lib/DPrinter.java Changeset: 0b1c88705568 Author: jjg Date: 2013-02-01 12:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/0b1c88705568 8007344: javac may not make tree end positions and/or doc comments available to processors and listeners Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/api/8007344/Test.java Changeset: 55cca2f38ee6 Author: darcy Date: 2013-02-01 13:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/55cca2f38ee6 8001614: Include annotation type to documented supported-ness Reviewed-by: alanb, jjg, tbell ! make/Makefile-classic ! make/build.properties + src/share/classes/jdk/Supported.java Changeset: 4cc73ec94686 Author: vromero Date: 2013-02-02 21:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/4cc73ec94686 8005075: Pool.Method, and Pool.Variable redundant Symbol field should be removed Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java Changeset: a51a8dac0a2f Author: vromero Date: 2013-02-03 02:31 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/a51a8dac0a2f 7199823: javac generates inner class that can't be verified Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/7199823/InnerClassCannotBeVerified.java Changeset: 1690928dc560 Author: jjg Date: 2013-02-04 15:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/1690928dc560 8007490: NPE from DocumentationTool.run Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java ! test/tools/javadoc/api/basic/RunTest.java Changeset: 62d91c13dce2 Author: jjg Date: 2013-02-04 18:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/62d91c13dce2 8007492: DocumentationTool cannot locate standard doclet when invoked from JRE Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/api/JavadocTool.java Changeset: 10619513f51a Author: lana Date: 2013-02-04 22:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/10619513f51a Merge Changeset: 2480aec9a3f1 Author: jjh Date: 2013-02-05 18:55 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/2480aec9a3f1 8007504: Remove @ignore from tests that no longer need it Reviewed-by: mcimadamore ! test/tools/javac/api/T6306137.java ! test/tools/javac/defaultMethods/TestNoBridgeOnDefaults.java ! test/tools/javac/lambda/LambdaCapture06.java ! test/tools/javac/lambda/LambdaExpr15.java Changeset: 89c664151689 Author: lana Date: 2013-02-11 16:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/89c664151689 Merge Changeset: bc24411bcc37 Author: katleman Date: 2013-02-14 11:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/langtools/rev/bc24411bcc37 Added tag jdk8-b77 for changeset 89c664151689 ! .hgtags From chris.hegarty at oracle.com Fri Feb 15 03:07:39 2013 From: chris.hegarty at oracle.com (chris.hegarty at oracle.com) Date: Fri, 15 Feb 2013 11:07:39 +0000 Subject: hg: jdk8/tl/jdk: 8008223: java/net/BindException/Test.java fails rarely Message-ID: <20130215110832.15E1847AE4@hg.openjdk.java.net> Changeset: 048637b40787 Author: chegar Date: 2013-02-15 11:06 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/048637b40787 8008223: java/net/BindException/Test.java fails rarely Reviewed-by: khazra, alanb ! test/java/net/BindException/Test.java From staffan.larsen at oracle.com Fri Feb 15 03:17:58 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Fri, 15 Feb 2013 11:17:58 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 2 new changesets Message-ID: <20130215111805.369F747AE5@hg.openjdk.java.net> Changeset: 5d5c577296fd Author: sla Date: 2013-02-15 08:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5d5c577296fd 8008102: SA on OS X does not stop the attached process Reviewed-by: dholmes, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: f35f1fbab3e1 Author: sla Date: 2013-02-15 10:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f35f1fbab3e1 Merge From jonathan.gibbons at oracle.com Fri Feb 15 08:29:20 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 16:29:20 +0000 Subject: hg: jdk8/tl/langtools: 8007052: javap should include the descriptor for a method in verbose mode Message-ID: <20130215162925.78AF547AEC@hg.openjdk.java.net> Changeset: 040f02711b73 Author: jjg Date: 2013-02-15 08:28 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/040f02711b73 8007052: javap should include the descriptor for a method in verbose mode Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java + test/tools/javap/DescriptorTest.java From maurizio.cimadamore at oracle.com Fri Feb 15 08:38:04 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 16:38:04 +0000 Subject: hg: jdk8/tl/langtools: 6 new changesets Message-ID: <20130215163819.E60CC47AEE@hg.openjdk.java.net> Changeset: 0baaae675b19 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/0baaae675b19 8006749: compiler does not allow Object protected methods to be used in lambda Summary: Check.checkFunctionalInterface should take into account 'fake' override Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/LambdaConv26.java Changeset: f6e667f52af4 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f6e667f52af4 8007285: AbstractMethodError instead of compile-time error when method reference with super and abstract Summary: Missing abstractness check on super rmethod references Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/MethodReference62.java + test/tools/javac/lambda/MethodReference62.out Changeset: 4ff468de829d Author: mcimadamore Date: 2013-02-15 16:29 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/4ff468de829d 8007462: Fix provisional applicability for method references Summary: Add speculative arity-based check to rule out potential candidates when stuck reference is passed to method Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IncompatibleArgTypesInMethodRef.java + test/tools/javac/lambda/TargetType60.java + test/tools/javac/lambda/TargetType60.out Changeset: 3cd997b9fd84 Author: mcimadamore Date: 2013-02-15 16:30 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/3cd997b9fd84 8007535: Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures Summary: Bad check in Types.interfaceCandidates Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/FunctionalInterfaceAnno02.java Changeset: 186023614cd3 Author: mcimadamore Date: 2013-02-15 16:31 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/186023614cd3 8007427: Annotation element as '_' gives compiler error instead of a warning 8007401: Write test to check for generation of warnings when '_' is used as an identifier Summary: Extended identifier production not used in annotation values Reviewed-by: jjg Contributed-by: sonali.goel at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/lambda/IdentifierTest.java + test/tools/javac/lambda/IdentifierTest.out Changeset: 258c72fa7fa2 Author: mcimadamore Date: 2013-02-15 16:37 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/258c72fa7fa2 Merge From maurizio.cimadamore at oracle.com Fri Feb 15 10:13:23 2013 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 15 Feb 2013 18:13:23 +0000 Subject: hg: jdk8/tl/langtools: 8008309: TargetType60 fails because of bad golden file Message-ID: <20130215181326.4143947AFE@hg.openjdk.java.net> Changeset: da2f7dd53915 Author: mcimadamore Date: 2013-02-15 18:13 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/da2f7dd53915 8008309: TargetType60 fails because of bad golden file Summary: bad golden file Reviewed-by: jjg ! test/tools/javac/lambda/TargetType60.out From jonathan.gibbons at oracle.com Fri Feb 15 11:26:16 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Fri, 15 Feb 2013 19:26:16 +0000 Subject: hg: jdk8/tl/langtools: 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Message-ID: <20130215192621.D6DDB47B01@hg.openjdk.java.net> Changeset: 9fb4f223a90d Author: jjg Date: 2013-02-15 11:26 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/9fb4f223a90d 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Reviewed-by: darcy ! test/tools/javap/MethodParameters.java From dmitry.samersoff at oracle.com Fri Feb 15 12:32:29 2013 From: dmitry.samersoff at oracle.com (dmitry.samersoff at oracle.com) Date: Fri, 15 Feb 2013 20:32:29 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 26 new changesets Message-ID: <20130215203320.1610147B13@hg.openjdk.java.net> Changeset: 20b605466ccb Author: katleman Date: 2013-01-31 17:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/20b605466ccb Added tag jdk8-b75 for changeset 6778d0b16593 ! .hgtags Changeset: da53cb17186a Author: katleman Date: 2013-02-07 12:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/da53cb17186a Added tag jdk8-b76 for changeset 20b605466ccb ! .hgtags Changeset: 412d722168bc Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/412d722168bc Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make - test/runtime/7158988/TestFieldMonitor.sh Changeset: cdb46031e718 Author: amurillo Date: 2013-02-08 08:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/cdb46031e718 Added tag hs25-b18 for changeset 412d722168bc ! .hgtags Changeset: 1a0174612b49 Author: amurillo Date: 2013-02-08 08:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1a0174612b49 8007801: new hotspot build - hs25-b19 Reviewed-by: jcoomes ! make/hotspot_version Changeset: deb43b8a436e Author: sspitsyn Date: 2013-02-13 08:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/deb43b8a436e Merge Changeset: bce1ac447f6b Author: johnc Date: 2013-02-06 14:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/bce1ac447f6b 7052429: G1: Avoid unnecessary scanning of humongous regions during concurrent marking Summary: Skip unnecessary scanning of bitmap for unmarked humongous objects/regions. Reviewed-by: jwilhelm, johnc Contributed-by: Tao Mao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/runtime/globals.hpp Changeset: f64ffbf81af5 Author: jwilhelm Date: 2013-02-07 15:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f64ffbf81af5 8006432: Ratio flags should be unsigned Summary: Flags changed to be of uintx type Reviewed-by: johnc, tamao ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5d8325eb8240 Author: brutisso Date: 2013-02-07 22:04 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5d8325eb8240 Merge ! src/share/vm/runtime/thread.cpp Changeset: 9425ba04792d Author: brutisso Date: 2013-02-07 18:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/9425ba04792d Merge - agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java - make/solaris/makefiles/kernel.make ! src/share/vm/runtime/arguments.cpp - test/runtime/7158988/TestFieldMonitor.sh Changeset: ad747ee9d0b1 Author: brutisso Date: 2013-02-10 21:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ad747ee9d0b1 8002144: G1: large number of evacuation failures may lead to large c heap memory usage Summary: Use Stack<> instead of GrowableArray to keep track of preserved marks. Also reviewed by vitalyd at gmail.com. Reviewed-by: johnc, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5e401ef52ec0 Author: johnc Date: 2013-02-11 15:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/5e401ef52ec0 8007772: G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions Summary: In do_marking_step(), we should always give up current region after scanning the object, if the region is humongous. Reviewed-by: brutisso, jwilhelm, tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: a83cd101fd62 Author: jmasa Date: 2013-01-23 19:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a83cd101fd62 8005452: NPG: Create new flags for Metaspace resizing policy Reviewed-by: johnc, jwilhelm, coleenp, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b8d5d7a6c94c Author: brutisso Date: 2013-02-14 11:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b8d5d7a6c94c Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/thread.cpp Changeset: 91a23b11d8dc Author: kvn Date: 2013-02-08 15:07 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/91a23b11d8dc 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2()) Summary: Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 309460dcedf7 Author: morris Date: 2013-02-08 15:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/309460dcedf7 8006851: When TieredCompilation is set, max code cache should be bumped to 256mb Summary: Set ReservedCodeCacheSize to (default value)*5 when TieredCompilation is on. Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp Changeset: 2c673161698a Author: drchase Date: 2013-02-09 12:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/2c673161698a 8007402: Code cleanup to remove Parfait false positive Summary: add array access range check Reviewed-by: kvn ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp Changeset: 64d2a0a39954 Author: kmo Date: 2013-02-10 22:35 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/64d2a0a39954 8006430: TraceTypeProfile is a product flag while it should be a diagnostic flag Summary: make sure all diagnostic and experimental flag kinds are checked in Flag::is_unlocked() Reviewed-by: kvn ! src/share/vm/runtime/globals.cpp Changeset: a9c29dfc7d73 Author: morris Date: 2013-02-11 10:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/a9c29dfc7d73 8003251: ARM: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 1e5e28bac299 Author: morris Date: 2013-02-11 14:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1e5e28bac299 8003252: PPC: move MacroAssembler into separate file Summary: moved MacroAssembler into separate file Reviewed-by: twisti, kvn, dlong ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp Changeset: 8b3da8d14c93 Author: roland Date: 2013-02-12 12:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8b3da8d14c93 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob Summary: Add support for expensive nodes. Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.hpp Changeset: c703f9c4b025 Author: kmo Date: 2013-02-12 07:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c703f9c4b025 8002169: TEST_BUG: compiler/7009359/Test7009359.java sometimes times out Summary: make the test less prone to timeout by reducing the amount of iteration and allowing main to be compiled Reviewed-by: jrose ! test/compiler/7009359/Test7009359.java Changeset: aaad39923cdb Author: kmo Date: 2013-02-12 14:33 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/aaad39923cdb Merge Changeset: 12e01444ca2d Author: iignatyev Date: 2013-02-13 08:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/12e01444ca2d 8006683: Add WhiteBox API to testing of compiler Reviewed-by: kvn, vlivanov ! src/share/tools/whitebox/sun/hotspot/WhiteBox.java ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp + test/compiler/whitebox/CompilerWhiteBoxTest.java + test/compiler/whitebox/DeoptimizeAllTest.java + test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/IsMethodCompilableTest.java + test/compiler/whitebox/MakeMethodNotCompilableTest.java + test/compiler/whitebox/SetDontInlineMethodTest.java Changeset: 1cdf241a4b26 Author: vlivanov Date: 2013-02-14 05:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/1cdf241a4b26 Merge ! src/share/vm/runtime/arguments.cpp Changeset: dc1de5e78a85 Author: dsamersoff Date: 2013-02-15 10:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/dc1de5e78a85 Merge From robert.field at oracle.com Fri Feb 15 18:42:24 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 02:42:24 +0000 Subject: hg: jdk8/tl/langtools: 8004969: Generate $deserializeLambda$ method; ... Message-ID: <20130216024229.22EFB47B22@hg.openjdk.java.net> Changeset: f1f605f85850 Author: rfield Date: 2013-02-15 18:40 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f1f605f85850 8004969: Generate $deserializeLambda$ method 8006763: super in method reference used in anonymous class - ClassFormatError is produced 8005632: Inner classes within lambdas cause build failures 8005653: Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/util/Names.java + test/tools/javac/lambda/LambdaInnerTypeVarArgs.java + test/tools/javac/lambda/LambdaInnerTypeVarReflect.java + test/tools/javac/lambda/MethodReference61.java From robert.field at oracle.com Sat Feb 16 12:38:08 2013 From: robert.field at oracle.com (robert.field at oracle.com) Date: Sat, 16 Feb 2013 20:38:08 +0000 Subject: hg: jdk8/tl/jdk: 8004970: Implement serialization in the lambda metafactory Message-ID: <20130216203829.DCAEC47B2F@hg.openjdk.java.net> Changeset: 7748ffdca16a Author: rfield Date: 2013-02-16 12:36 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/7748ffdca16a 8004970: Implement serialization in the lambda metafactory Reviewed-by: forax ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java + src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java + test/java/lang/invoke/lambda/LambdaSerialization.java From xueming.shen at oracle.com Sat Feb 16 17:03:07 2013 From: xueming.shen at oracle.com (xueming.shen at oracle.com) Date: Sun, 17 Feb 2013 01:03:07 +0000 Subject: hg: jdk8/tl/jdk: 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Message-ID: <20130217010318.E96E247B30@hg.openjdk.java.net> Changeset: 43726ed11fb3 Author: sherman Date: 2013-02-17 01:01 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/43726ed11fb3 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Summary: To remove jdk/make/tools/javazic from the jdk repo Reviewed-by: alanb - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java From taras.tielkes at gmail.com Sun Feb 17 03:15:07 2013 From: taras.tielkes at gmail.com (Taras Tielkes) Date: Sun, 17 Feb 2013 12:15:07 +0100 Subject: java 1.7.0u4 GarbageCollectionNotificationInfo API In-Reply-To: <510C3F0E.9030400@oracle.com> References: <510C3F0E.9030400@oracle.com> Message-ID: Hi John, Thanks for the feedback. The milliseconds/ticks issue indeed seems to be bug 7087969. Will the upcoming 7u14 contain hs24, and the fix? Regarding the "No GC" cause, I think http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8006954 might be the underlying issue. If I understand correctly, it's now fixed for hs24 as well, and will hopefully be part of 7u14. I'll post any follow-up questions regarding the GC Notification API to the serviceability-dev mailing list. Kind regards, -tt On Fri, Feb 1, 2013 at 11:17 PM, John Cuthbertson < john.cuthbertson at oracle.com> wrote: > Hi Taras, > > I'm going to cc the serviceability alias. I think they might be best > suited to answer some of your questions. I believe they own the API and the > GC provides the data. > > Answer 1: It should be milliseconds, but there was a bug ( > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7087969) that is now > fixed in hs24 and you could be running into that. > > Answer 2: This sounds like a bug. Do you have a test case you can share? > > Answer 3: I'll leave that to the serviceability guys. > > Regards, > > JohnC > > > On 1/28/2013 1:11 PM, Taras Tielkes wrote: > > > Hi, > > I'm playing around with the new(ish) GarbageCollectionNotificationInfo > API. We're using ParNew+CMS in all our systems, and my first goal is a > comparison between -XX:+PrintGCDetails -verbose:gc output and the actual > data coming through the notification API. I'm using Java 1.7.0u6 for the > experiments. > > So far, I have a number of questions: > 1) duration times > > The javadoc for gcInfo.getDuration() describes the returned value as > expressed in milliseconds. However, the values differ to the gc logs by > several orders of magnitude. How are they calculated? > > On a 1-core Linux x64 VM, the values actually look like microseconds, > but on a Win32 machines I still can't figure out any resemblance to gc log > timings. > > Apart from the unit, what should the value represent? Real time or user > time? > > 2) CMS events with cause "No GC" > > How exactly do the phases of CMS map to the notifications emitted for > the CMS collector? > > I sometimes get events with cause "No GC". Does this indicate a > background CMS cycle being initiated by hitting the occupancy fraction > threshold? > > 3) Eden/Survivor > > It seems that the MemoryUsage API treats Eden and Survivor separately, > i.e. survivor is not a subset of eden. This is different from the gc log > presentation. Is my understanding correct? > > In general, I think it would be useful to have a code sample for the GC > notification API that generates output as close as possible to > -XX:+PrintGCDetails -verbose:gc, as far as the data required to do so is > available. > > The API looks quite promising, it seems it could really benefit from a > bit of documentation love :) > > Thanks, > -tt > > > > _______________________________________________ > hotspot-gc-use mailing listhotspot-gc-use at openjdk.java.nethttp://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20130217/3b971380/attachment.html From yong.huang at oracle.com Sun Feb 17 01:17:51 2013 From: yong.huang at oracle.com (yong.huang at oracle.com) Date: Sun, 17 Feb 2013 09:17:51 +0000 Subject: hg: jdk8/tl/jdk: 8006748: getISO3Country() returns wrong value Message-ID: <20130217091812.2B8DC47B3B@hg.openjdk.java.net> Changeset: ce6a2fcb4c9b Author: yhuang Date: 2013-02-16 21:22 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce6a2fcb4c9b 8006748: getISO3Country() returns wrong value Reviewed-by: naoto ! src/share/classes/java/util/LocaleISOData.java From david.holmes at oracle.com Sun Feb 17 20:06:25 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 18 Feb 2013 14:06:25 +1000 Subject: RFR(XXS): 8007147: Trace event ExecuteVMOperation may get dangling pointer In-Reply-To: References: Message-ID: <5121A8C1.2040908@oracle.com> Hi Markus, So is zero as a thread id defined to mean "no thread" ? David On 13/02/2013 12:03 AM, Markus Gr?nlund wrote: > Greetings, > > Kindly asking for reviews and a putback sponsorship for the following > change: > > Bugid: http://bugs.sun.com/view_bug.do?bug_id=8007147 > > Webrev: http://cr.openjdk.java.net/~mgronlun/8007147/webrev01/ > > Please also note this is for hs24. > > Thanks to David Holmes for pointing out this problem. > > Thanks > > Markus > From david.holmes at oracle.com Sun Feb 17 20:23:42 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 18 Feb 2013 14:23:42 +1000 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> References: <51198AE3.5040706@oracle.com> <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> Message-ID: <5121ACCE.6080707@oracle.com> Thanks for clarifying this Staffan, I see now how this was setup wrong in the first place. You are using the right mechanism now. I'm not sure UseTLAB warrants its own accessor in VM anymore as the two uses of it can simply ask for the flag value directly. Your call. Thanks, David On 12/02/2013 8:19 PM, Staffan Larsen wrote: > The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. > > Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. > > Thanks, > /Staffan > > On 12 feb 2013, at 01:20, David Holmes wrote: > >> On 10/02/2013 5:06 AM, Staffan Larsen wrote: >>> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >> >> Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? >> >> Also we need a regression test for this as obviously it ain't being tested! :( >> >> Thanks, >> David >> >>> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >>> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >>> >>> Thanks, >>> /Staffan >>> > From alan.bateman at oracle.com Mon Feb 18 00:16:50 2013 From: alan.bateman at oracle.com (alan.bateman at oracle.com) Date: Mon, 18 Feb 2013 08:16:50 +0000 Subject: hg: jdk8/tl/jdk: 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Message-ID: <20130218081708.B0DB147B4D@hg.openjdk.java.net> Changeset: bcde0486261e Author: dingxmin Date: 2013-02-18 08:14 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bcde0486261e 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/RacyDeregister.java From staffan.larsen at oracle.com Mon Feb 18 01:41:42 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 18 Feb 2013 10:41:42 +0100 Subject: RFR (XS): 8007901 SA: Don't read flag values as constants In-Reply-To: <5121ACCE.6080707@oracle.com> References: <51198AE3.5040706@oracle.com> <66CB6E74-D03C-43A7-B3B1-C162C2992398@oracle.com> <5121ACCE.6080707@oracle.com> Message-ID: <0A6876F8-136B-46EC-8DFC-4AEAD95DEA30@oracle.com> I choose to follow the same pattern as for other flags, although I agree that the extra accessor isn't really needed. Thanks David! /Staffan On 18 feb 2013, at 05:23, David Holmes wrote: > Thanks for clarifying this Staffan, I see now how this was setup wrong in the first place. You are using the right mechanism now. > > I'm not sure UseTLAB warrants its own accessor in VM anymore as the two uses of it can simply ask for the flag value directly. Your call. > > Thanks, > David > > On 12/02/2013 8:19 PM, Staffan Larsen wrote: >> The values are initialized at VM compile time in the VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA so that values of int constants is made into a dynamic lookup. Or at least, that is a fairly significant change to SA. The problem here was to think that UseTLAB is a constant when it isn't. >> >> Yes, I thought about a regression test for this, but the valuable test would be to verify that no command line flag values are read as constants, and I don't see how I could write that. >> >> Thanks, >> /Staffan >> >> On 12 feb 2013, at 01:20, David Holmes wrote: >> >>> On 10/02/2013 5:06 AM, Staffan Larsen wrote: >>>> Please review this small patch to avoid reading flag values in SA as constants. Reading them as constants means SA will only see the default value for these flags. Instead the infrastructure in SA to read command line flags should be used. In addition the value if EnableInvokeDynamic is never used, so I removed that from SA. >>> >>> Isn't the real problem in the way db is initialized with the values for these flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning the actual value of UseTLAB as it occurs in the VM ? >>> >>> Also we need a regression test for this as obviously it ain't being tested! :( >>> >>> Thanks, >>> David >>> >>>> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/ >>>> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible) >>>> >>>> Thanks, >>>> /Staffan >>>> >> From staffan.larsen at oracle.com Mon Feb 18 02:15:52 2013 From: staffan.larsen at oracle.com (Staffan Larsen) Date: Mon, 18 Feb 2013 11:15:52 +0100 Subject: RFR(S): 8005572: fatal error: acquiring lock JfrBuffer_lock/19 out of order with lock MethodData_lock/19 -- possible deadlock Message-ID: <21B2FFE7-AC80-4FE8-9704-ECDC33D5F889@oracle.com> Please review this change for hs24 / jdku. webrev: http://cr.openjdk.java.net/~sla/8005572/webrev.00/ The problem lies with the order of the newly introduced JfrBuffer_lock and JfrStream_lock compared to the MethodData_lock. There are cases where we need to take the Jfr* locks while holding the MethodData_lock. Ths solution is simply to increase the lock order for the Jfr* locks. This change has baked for a while in internal testing and showed no regressions. Thanks, /Staffan From rickard.backman at oracle.com Mon Feb 18 04:10:56 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Mon, 18 Feb 2013 13:10:56 +0100 Subject: RFR(XS): 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity Message-ID: Hi all, I just got a small patch this time that makes sure that a pc given to a frame is actually in the code part of the codeBlob. The case that assert here was pointing into the data part of the codeBlob. This webrev is only for hs24 so far. Waiting for pending changes in hs25. webrev: http://cr.openjdk.java.net/~rbackman/8008340/ bug: http://bugs.sun.com/view_bug.do?bug_id=8008340 Thanks /R From staffan.larsen at oracle.com Mon Feb 18 04:14:56 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Mon, 18 Feb 2013 12:14:56 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007901: SA: Don't read flag values as constants Message-ID: <20130218121459.DE1D047B5B@hg.openjdk.java.net> Changeset: f82bcc429e8c Author: sla Date: 2013-02-18 10:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f82bcc429e8c 8007901: SA: Don't read flag values as constants Reviewed-by: dholmes, mikael ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/runtime/vmStructs.cpp From staffan.larsen at oracle.com Mon Feb 18 06:17:28 2013 From: staffan.larsen at oracle.com (staffan.larsen at oracle.com) Date: Mon, 18 Feb 2013 14:17:28 +0000 Subject: hg: hsx/hotspot-rt/hotspot: 8007779: os::die() on solaris should generate core file Message-ID: <20130218141732.E149E47B5E@hg.openjdk.java.net> Changeset: b5e3ec9c69fa Author: sla Date: 2013-02-18 12:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/b5e3ec9c69fa 8007779: os::die() on solaris should generate core file Reviewed-by: dholmes, rbackman ! src/os/solaris/vm/os_solaris.cpp From vicente.romero at oracle.com Mon Feb 18 06:34:41 2013 From: vicente.romero at oracle.com (vicente.romero at oracle.com) Date: Mon, 18 Feb 2013 14:34:41 +0000 Subject: hg: jdk8/tl/langtools: 6563143: javac should issue a warning for overriding equals without hashCode Message-ID: <20130218143447.2E7C347B5F@hg.openjdk.java.net> Changeset: 2620c953e9fe Author: vromero Date: 2013-02-18 14:33 +0000 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/2620c953e9fe 6563143: javac should issue a warning for overriding equals without hashCode Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out ! test/tools/javac/diags/examples.not-yet.txt From vladimir.kozlov at oracle.com Mon Feb 18 12:42:39 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Feb 2013 12:42:39 -0800 Subject: RFR(XS): 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity In-Reply-To: References: Message-ID: <5122923F.2060706@oracle.com> Looks reasonable. We usually push into hs25 first, do Nightly testing and only then backport to hs24. I would advise to do the same with this fix. Thanks, Vladimir On 2/18/13 4:10 AM, Rickard B?ckman wrote: > Hi all, > > I just got a small patch this time that makes sure that a pc given to a frame is actually in the code part of the codeBlob. > The case that assert here was pointing into the data part of the codeBlob. > > This webrev is only for hs24 so far. Waiting for pending changes in hs25. > > webrev: http://cr.openjdk.java.net/~rbackman/8008340/ > bug: http://bugs.sun.com/view_bug.do?bug_id=8008340 > > Thanks > /R > From jonathan.gibbons at oracle.com Mon Feb 18 14:29:55 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Mon, 18 Feb 2013 22:29:55 +0000 Subject: hg: jdk8/tl/langtools: 8008339: Test TargetAnnoCombo.java is broken Message-ID: <20130218223002.A31F847B76@hg.openjdk.java.net> Changeset: 87884cd0fea3 Author: jjg Date: 2013-02-18 14:29 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/87884cd0fea3 8008339: Test TargetAnnoCombo.java is broken Reviewed-by: jjh ! test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java From joe.darcy at oracle.com Tue Feb 19 00:19:33 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:19:33 +0000 Subject: hg: jdk8/tl/jdk: 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Message-ID: <20130219082010.CC88F47B87@hg.openjdk.java.net> Changeset: 49b3d8efd30a Author: darcy Date: 2013-02-19 00:19 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/49b3d8efd30a 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Reviewed-by: mduigou, okutsu ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/util/TimeZone.java From joe.darcy at oracle.com Tue Feb 19 00:25:18 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:25:18 +0000 Subject: hg: jdk8/tl: 8008435: Fix new build to include jdk.Supported in ct.sym Message-ID: <20130219082518.AD92747B88@hg.openjdk.java.net> Changeset: ecc8fda8f187 Author: darcy Date: 2013-02-19 00:24 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/rev/ecc8fda8f187 8008435: Fix new build to include jdk.Supported in ct.sym Reviewed-by: erikj ! common/makefiles/javadoc/NON_CORE_PKGS.gmk From joe.darcy at oracle.com Tue Feb 19 00:32:03 2013 From: joe.darcy at oracle.com (joe.darcy at oracle.com) Date: Tue, 19 Feb 2013 08:32:03 +0000 Subject: hg: jdk8/tl/langtools: 8008267: Add @Supported annotation to com.sun.source types Message-ID: <20130219083209.2371A47B8B@hg.openjdk.java.net> Changeset: 011cf7e0a148 Author: darcy Date: 2013-02-19 00:31 -0800 URL: http://hg.openjdk.java.net/jdk8/tl/langtools/rev/011cf7e0a148 8008267: Add @Supported annotation to com.sun.source types Reviewed-by: jjg ! src/share/classes/com/sun/source/doctree/AttributeTree.java ! src/share/classes/com/sun/source/doctree/AuthorTree.java ! src/share/classes/com/sun/source/doctree/BlockTagTree.java ! src/share/classes/com/sun/source/doctree/CommentTree.java ! src/share/classes/com/sun/source/doctree/DeprecatedTree.java ! src/share/classes/com/sun/source/doctree/DocCommentTree.java ! src/share/classes/com/sun/source/doctree/DocRootTree.java ! src/share/classes/com/sun/source/doctree/DocTree.java ! src/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/share/classes/com/sun/source/doctree/EndElementTree.java ! src/share/classes/com/sun/source/doctree/EntityTree.java ! src/share/classes/com/sun/source/doctree/ErroneousTree.java ! src/share/classes/com/sun/source/doctree/IdentifierTree.java ! src/share/classes/com/sun/source/doctree/InheritDocTree.java ! src/share/classes/com/sun/source/doctree/InlineTagTree.java ! src/share/classes/com/sun/source/doctree/LinkTree.java ! src/share/classes/com/sun/source/doctree/LiteralTree.java ! src/share/classes/com/sun/source/doctree/ParamTree.java ! src/share/classes/com/sun/source/doctree/ReferenceTree.java ! src/share/classes/com/sun/source/doctree/ReturnTree.java ! src/share/classes/com/sun/source/doctree/SeeTree.java ! src/share/classes/com/sun/source/doctree/SerialDataTree.java ! src/share/classes/com/sun/source/doctree/SerialFieldTree.java ! src/share/classes/com/sun/source/doctree/SerialTree.java ! src/share/classes/com/sun/source/doctree/SinceTree.java ! src/share/classes/com/sun/source/doctree/StartElementTree.java ! src/share/classes/com/sun/source/doctree/TextTree.java ! src/share/classes/com/sun/source/doctree/ThrowsTree.java ! src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java ! src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java ! src/share/classes/com/sun/source/doctree/ValueTree.java ! src/share/classes/com/sun/source/doctree/VersionTree.java ! src/share/classes/com/sun/source/doctree/package-info.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/AnnotationTree.java ! src/share/classes/com/sun/source/tree/ArrayAccessTree.java ! src/share/classes/com/sun/source/tree/ArrayTypeTree.java ! src/share/classes/com/sun/source/tree/AssertTree.java ! src/share/classes/com/sun/source/tree/AssignmentTree.java ! src/share/classes/com/sun/source/tree/BinaryTree.java ! src/share/classes/com/sun/source/tree/BlockTree.java ! src/share/classes/com/sun/source/tree/BreakTree.java ! src/share/classes/com/sun/source/tree/CaseTree.java ! src/share/classes/com/sun/source/tree/CatchTree.java ! src/share/classes/com/sun/source/tree/ClassTree.java ! src/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java ! src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java ! src/share/classes/com/sun/source/tree/ContinueTree.java ! src/share/classes/com/sun/source/tree/DoWhileLoopTree.java ! src/share/classes/com/sun/source/tree/EmptyStatementTree.java ! src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java ! src/share/classes/com/sun/source/tree/ErroneousTree.java ! src/share/classes/com/sun/source/tree/ExpressionStatementTree.java ! src/share/classes/com/sun/source/tree/ExpressionTree.java ! src/share/classes/com/sun/source/tree/ForLoopTree.java ! src/share/classes/com/sun/source/tree/IdentifierTree.java ! src/share/classes/com/sun/source/tree/IfTree.java ! src/share/classes/com/sun/source/tree/ImportTree.java ! src/share/classes/com/sun/source/tree/InstanceOfTree.java ! src/share/classes/com/sun/source/tree/IntersectionTypeTree.java ! src/share/classes/com/sun/source/tree/LabeledStatementTree.java ! src/share/classes/com/sun/source/tree/LambdaExpressionTree.java ! src/share/classes/com/sun/source/tree/LineMap.java ! src/share/classes/com/sun/source/tree/LiteralTree.java ! src/share/classes/com/sun/source/tree/MemberReferenceTree.java ! src/share/classes/com/sun/source/tree/MemberSelectTree.java ! src/share/classes/com/sun/source/tree/MethodInvocationTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/ModifiersTree.java ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/tree/NewClassTree.java ! src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java ! src/share/classes/com/sun/source/tree/ParenthesizedTree.java ! src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java ! src/share/classes/com/sun/source/tree/ReturnTree.java ! src/share/classes/com/sun/source/tree/Scope.java ! src/share/classes/com/sun/source/tree/StatementTree.java !