From c.m.bockisch at cs.utwente.nl Thu Jul 1 06:06:11 2010 From: c.m.bockisch at cs.utwente.nl (Christoph Bockisch) Date: Thu, 01 Jul 2010 15:06:11 +0200 Subject: Invitation to submit to VMIL'10 Message-ID: <4C2C92C3.9090204@cs.utwente.nl> Dear Colleagues: It gives us great pleasure to invite you to submit your contributions to **the fourth international workshop on Virtual Machines and Intermediate Languages (VMIL 2010)**, which will be co-located with SPLASH 2010 (former OOPSLA). This workshop is a forum for research in virtual machines (VM) and intermediate languages (IL). It is dedicated to identifying programming mechanisms and constructs that are currently realized as code transformations or implemented in libraries but should rather be supported at VM and IL level. ------------------------------------------------------------ **Invited Talks** In the tradition of past VMIL workshops, the 2010 edition will feature high-quality, on-topic invited talks. At this moment, talks by Cliff Click and Kathryn McKinley are confirmed. ------------------------------------------------------------ **Due Dates** Papers for VMIL are due Aug 9, 2010. Abstract submission is not required but recommended until Aug 2, 2010. Notification of acceptance will be on August 30, 2010. ------------------------------------------------------------ **Program Committee** We have once again assembled an excellent program committee which consists of Walter Binder, Steve Blackburn, Erik Ernst, Naveen Kumar, Doug Simon, Roel Wuyts, and all workshop organizers. ------------------------------------------------------------ For more details please see: http://www.cs.iastate.edu/~design/vmil/ We look forward to your submissions to VMIL 2010. Best regards, Hridesh Rajan, Christoph Bockisch, Michael Haupt and Robert Dyer VMIL 2010 Organizers From rasbold at google.com Thu Jul 1 12:06:07 2010 From: rasbold at google.com (Chuck Rasbold) Date: Thu, 1 Jul 2010 12:06:07 -0700 Subject: optimized build targets Message-ID: Does anyone still utilize the "optimized" build target for HotSpot? I used to believe that optimized was nearly identical to product, but with the symbols not stripped out. I see from optimized.make though, that -DPRODUCT is not defined, and might have guessed that the G_SUFFIX would be set, which it is not. What's the current rationale for these settings? -- Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100701/cf39ead2/attachment.html From coleen.phillimore at oracle.com Thu Jul 1 12:10:35 2010 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Thu, 01 Jul 2010 15:10:35 -0400 Subject: optimized build targets In-Reply-To: References: Message-ID: <4C2CE82B.5060302@oracle.com> In optimized, you still have the -XXflags, hsfind() and other printing, but the code will run at full speed. It used to be (probably still is) useful for debugging crashes that are race conditions and dependent on timing. Coleen Chuck Rasbold wrote: > Does anyone still utilize the "optimized" build target for HotSpot? > > I used to believe that optimized was nearly identical to product, > but with the symbols not stripped out. I see from optimized.make though, > that -DPRODUCT is not defined, and might have guessed that the G_SUFFIX > would be set, which it is not. > > What's the current rationale for these settings? > > -- Chuck From vladimir.kozlov at oracle.com Thu Jul 1 12:19:26 2010 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 01 Jul 2010 12:19:26 -0700 Subject: optimized build targets In-Reply-To: References: Message-ID: <4C2CEA3E.10907@oracle.com> I am using it from time to time. Some logging code (compiler statistic, for example) is under #ifndef PRODUCT so you don't need debug VM to get it and generated code is the same as product. Vladimir On 7/1/10 12:06 PM, Chuck Rasbold wrote: > Does anyone still utilize the "optimized" build target for HotSpot? > > I used to believe that optimized was nearly identical to product, > but with the symbols not stripped out. I see from optimized.make though, > that -DPRODUCT is not defined, and might have guessed that the G_SUFFIX > would be set, which it is not. > > What's the current rationale for these settings? > > -- Chuck From dan.cojocar at gmail.com Thu Jul 1 12:43:59 2010 From: dan.cojocar at gmail.com (Dan Cojocar) Date: Thu, 1 Jul 2010 22:43:59 +0300 Subject: segmentation fault In-Reply-To: <4C2B78DB.6040705@oracle.com> References: <4C2B4F7A.4000905@oracle.com> <4C2B78DB.6040705@oracle.com> Message-ID: Hello Coleen, Using -Xss1m and -XX:StackShadowPages=20, I managed to get the StackOverflowError and fix the problem. Thank you, Dan On Wed, Jun 30, 2010 at 8:03 PM, Coleen Phillimore < coleen.phillimore at oracle.com> wrote: > > It looks like a stack overflow error then. Try increasing your stack size > with -Xss and/or use the parameter -XX:StackShadowPages=n where n > default > (3 or 4) so that there is enough stack to report the StackOverflowError. > > Thanks, > Coleen > > > On 06/30/10 12:14, Dan Cojocar wrote: > > Hello Coleen, > Thank you for your suggestion. I posted here because I suspected that this > is related to the hotspot. > I don't receive and output crash, I get only the seg fault message in logs. > And if I configure the system to dump cores, I will get a core dump image. > That is why I didn't filed a bug report. Should I enable/check something to > trigger an output crash report? > Using -Xcheck:jni as you suggested I received a backtrace like the one > bellow. > What should I do more to investigate this? > Regards, > Dan > > (gdb) bt > #0 0x00002aac6f84a4b2 in MemRegion::end (this=Cannot access memory at > address 0x42413ff8 > ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/memRegion.hpp:57 > #1 0x00002aac6f84a4f6 in MemRegion::contains (this=0xb2fdad8, > addr=0xfad9ef48) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/memRegion.hpp:70 > #2 0x00002aac6f84ae49 in CollectedHeap::is_in_reserved (this=0xb2fdac8, > p=0xfad9ef48) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/gc_interface/collectedHeap.hpp:201 > #3 0x00002aac6f85942b in oopDesc::is_oop (this=0xfad9ef48, > ignore_mark_word=false) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:534 > #4 0x00002aac6fb7271d in HandleArea::allocate_handle (this=0xc41dce8, > obj=0xfad9ef48) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.cpp:32 > #5 0x00002aac6f98c3fd in Handle::Handle (this=0x42414150, obj=0xfad9ef48) > at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.inline.hpp:32 > #6 0x00002aac6f98c427 in constantPoolHandle::constantPoolHandle > (this=0x42414150, obj=0xfad9ef48) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.hpp:188 > #7 0x00002aac6faf8b0c in fieldDescriptor::initialize (this=0x42414240, > k=0xfad9fce0, index=0) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/fieldDescriptor.cpp:68 > #8 0x00002aac6fb9ee19 in instanceKlass::find_local_field_from_offset > (this=0xfad9fcf0, offset=12, is_static=false, fd=0x42414240) > at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp:817 > #9 0x00002aac6fb9ee92 in instanceKlass::find_field_from_offset > (this=0xfad9fcf0, offset=12, is_static=false, fd=0x42414240) > at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp:828 > #10 0x00002aac6fc26511 in checkInstanceFieldID (thr=0xba70800, > fid=0x3ca7747a33, obj=0x42424380, ftype=10) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jniCheck.cpp:236 > #11 0x00002aac6fc27fe6 in checked_jni_GetIntField (env=0xba709e8, > obj=0x42424380, fieldID=0x3ca7747a33) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jniCheck.cpp:1024 > #12 0x00002aaab35d9c52 in Java_java_net_SocketInputStream_socketRead0 > (env=0xba709e8, this=0x42424378, fdObj=0x42424380, data=0x42424388, off=0, > len=4, timeout=0) > at ../../../src/solaris/native/java/net/SocketInputStream.c:75 > #13 0x00002aaaab5b6dc7 in ?? () > #14 0x0000000000000000 in ?? () > > > > > On Wed, Jun 30, 2010 at 5:06 PM, Coleen Phillimore wrote: > > > > This email is for primarily for discussion about the Hotspot code base and > not really for support. If you think this is a bug in hotspot you can file > a bug (as directed in the output of the crash). > > From the stack it looks like there's some bug in the native code. Try > running -Xcheck:jni and see if that helps diagnose your problem. > > Coleen > > > On 06/22/10 04:02, Dan Cojocar wrote: > > > > Hello, > I'm running resin app server to process jms messages from an activemq > queue > and for last couple of days the jvm keeps crashing. I'm using CentOS > release > 5.4 (Final) and in dmesg logs I get something like: > java[16538]: segfault at 0000000044d45ff8 rip 00002aab1b8964f8 rsp > 0000000044d46000 error 6 > I get the segfault also running with: jdk1.6.0_16 or jdk1.6.0_20. > Compiled openjdk-7-ea-src-b98-17_jun_2010 with debug and using gdb I see > the > following backtraces: > > 1. Core was generated by `/home/dcojocar/jdk/build/-debug/bin/java > -Dresin.watchdog=16600 -Djava.util.log'. > Program terminated with signal 11, Segmentation fault. > #0 0x00002b56ca667f40 in markOopDesc::value (this=Cannot access memory at > address 0x442daff8 > ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:102 > 102 uintptr_t value() const { return (uintptr_t) this; } > (gdb) bt > #0 0x00002b56ca667f40 in markOopDesc::value (this=Cannot access memory at > address 0x442daff8 > ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:102 > #1 0x00002b56ca676c89 in markOopDesc::hash (this=0x3867ac1901) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:346 > #2 0x00002b56ca676cb1 in markOopDesc::has_no_hash (this=0x3867ac1901) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:350 > #3 0x00002b56ca84b3aa in oopDesc::identity_hash (this=0x9ad9fbf0) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:662 > #4 0x00002b56ca982414 in jfieldIDWorkaround::klass_hash_ok (k=0x9ad9fbf0, > id=0x70cf583233) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:167 > #5 0x00002b56ca982506 in jfieldIDWorkaround::verify_instance_jfieldID > (k=0x9ad9fbf0, id=0x70cf583233) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:180 > #6 0x00002b56ca988913 in jfieldIDWorkaround::from_instance_jfieldID > (k=0x9ad9fbf0, id=0x70cf583233) at > > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/jfieldIDWorkaround.hpp:130 > #7 0x00002b56ca985249 in jni_GetIntField (env=0x145fb9e8, obj=0x442eb270, > fieldID=0x70cf583233) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:1703 > #8 0x00002aaab282bc52 in Java_java_net_SocketInputStream_socketRead0 > (env=0x145fb9e8, this=0x442eb268, fdObj=0x442eb270, data=0x442eb278, > off=0, > len=4, timeout=0) > at ../../../src/solaris/native/java/net/SocketInputStream.c:75 > #9 0x00002aaaab599a27 in ?? () > #10 0x0000000000000000 in ?? () > > 2. Core was generated by `/home/dcojocar/jdk/build/-debug/bin/java > -Dresin.watchdog=16600 -Djava.util.log'. > Program terminated with signal 11, Segmentation fault. > #0 0x00002b80d0a8d366 in StackObj::StackObj (this=0x42b02180) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/allocation.hpp:97 > 97 class StackObj ALLOCATION_SUPER_CLASS_SPEC { > (gdb) bt > #0 0x00002b80d0a8d366 in StackObj::StackObj (this=0x42b02180) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/allocation.hpp:97 > #1 0x00002b80d0eacd3e in JNITraceWrapper::JNITraceWrapper > (this=0x42b02180, > format=0x2b80d1327434 "GetIntField") at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:214 > #2 0x00002b80d0eaa218 in jni_GetIntField (env=0x194729e8, obj=0x42b12240, > fieldID=0x70cf583233) at > /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:1703 > #3 0x00002aaaaf1a3c52 in Java_java_net_SocketInputStream_socketRead0 > (env=0x194729e8, this=0x42b12238, fdObj=0x42b12240, data=0x42b12248, > off=0, > len=111, timeout=0) > at ../../../src/solaris/native/java/net/SocketInputStream.c:75 > #4 0x00002aaaab5c9fa7 in ?? () > #5 0x0000000000000000 in ?? () > > Please advice what should I do next. > Regards, > Dan > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100701/412b3b40/attachment.html From rasbold at google.com Thu Jul 1 14:53:59 2010 From: rasbold at google.com (Chuck Rasbold) Date: Thu, 1 Jul 2010 14:53:59 -0700 Subject: optimized build targets In-Reply-To: <4C2CEA3E.10907@oracle.com> References: <4C2CEA3E.10907@oracle.com> Message-ID: Coleen, Vladimir, thanks for the answers and for jogging my memory. As a follow-up, with optimized, do either of you see more performance degradation problems vs. product than is warranted? I seem to recall some diagnostic JVM code that is under #ifndef PRODUCT which really should be protected by #ifdef DEBUG. That is, are there runtime sanitty checks going on that were really only intended for debug/fastdebug, but are inadvertently being included in the optimized build because of a flipped #ifdef? -- Chuck On Thu, Jul 1, 2010 at 12:19 PM, Vladimir Kozlov wrote: > I am using it from time to time. Some logging code (compiler statistic, for > example) is under #ifndef PRODUCT so you don't need debug VM to get it and > generated code is the same as product. > > Vladimir > > > On 7/1/10 12:06 PM, Chuck Rasbold wrote: > >> Does anyone still utilize the "optimized" build target for HotSpot? >> >> I used to believe that optimized was nearly identical to product, >> but with the symbols not stripped out. I see from optimized.make though, >> that -DPRODUCT is not defined, and might have guessed that the G_SUFFIX >> would be set, which it is not. >> >> What's the current rationale for these settings? >> >> -- Chuck >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100701/e95ec232/attachment-0001.html From vladimir.kozlov at oracle.com Thu Jul 1 15:05:03 2010 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 01 Jul 2010 15:05:03 -0700 Subject: optimized build targets In-Reply-To: References: <4C2CEA3E.10907@oracle.com> Message-ID: <4C2D110F.50104@oracle.com> Chuck, I think nobody care about performance of optimized build since it is still much faster then fastdebug VM and we don't expect it to perform as product VM. Several years ago I did some cleanup of debug vs non-product flags and corresponding code. But I would not surprise we still have some debug code under #ifndef PRODUCT. If you can point such code we will appreciate it. Thanks, Vladimir On 7/1/10 2:53 PM, Chuck Rasbold wrote: > Coleen, Vladimir, thanks for the answers and for jogging my memory. > > As a follow-up, with optimized, do either of you see more performance degradation problems vs. product than is warranted? > > I seem to recall some diagnostic JVM code that is under #ifndef PRODUCT which really should be protected by #ifdef > DEBUG. That is, are there runtime sanitty checks going on that were really only intended for debug/fastdebug, but are > inadvertently being included in the optimized build because of a flipped #ifdef? > > -- Chuck > > On Thu, Jul 1, 2010 at 12:19 PM, Vladimir Kozlov > wrote: > > I am using it from time to time. Some logging code (compiler statistic, for example) is under #ifndef PRODUCT so you > don't need debug VM to get it and generated code is the same as product. > > Vladimir > > > On 7/1/10 12:06 PM, Chuck Rasbold wrote: > > Does anyone still utilize the "optimized" build target for HotSpot? > > I used to believe that optimized was nearly identical to product, > but with the symbols not stripped out. I see from optimized.make though, > that -DPRODUCT is not defined, and might have guessed that the G_SUFFIX > would be set, which it is not. > > What's the current rationale for these settings? > > -- Chuck > > From coleen.phillimore at oracle.com Thu Jul 1 18:36:19 2010 From: coleen.phillimore at oracle.com (Coleen Phillimore) Date: Thu, 01 Jul 2010 21:36:19 -0400 Subject: segmentation fault In-Reply-To: References: <4C2B4F7A.4000905@oracle.com> <4C2B78DB.6040705@oracle.com> Message-ID: <4C2D4293.3010401@oracle.com> Oh, excellent, that is good news! Coleen Dan Cojocar wrote: > Hello Coleen, > Using -Xss1m and -XX:StackShadowPages=20, I managed to get > the StackOverflowError and fix the problem. > Thank you, > Dan > > On Wed, Jun 30, 2010 at 8:03 PM, Coleen Phillimore > > > wrote: > > > It looks like a stack overflow error then. Try increasing your > stack size with -Xss and/or use the > parameter -XX:StackShadowPages=n where n > default (3 or 4) so > that there is enough stack to report the StackOverflowError. > > Thanks, > Coleen > > > On 06/30/10 12:14, Dan Cojocar wrote: >> Hello Coleen, >> Thank you for your suggestion. I posted here because I suspected that this >> is related to the hotspot. >> I don't receive and output crash, I get only the seg fault message in logs. >> And if I configure the system to dump cores, I will get a core dump image. >> That is why I didn't filed a bug report. Should I enable/check something to >> trigger an output crash report? >> Using -Xcheck:jni as you suggested I received a backtrace like the one >> bellow. >> What should I do more to investigate this? >> Regards, >> Dan >> >> (gdb) bt >> #0 0x00002aac6f84a4b2 in MemRegion::end (this=Cannot access memory at >> address 0x42413ff8 >> ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/memRegion.hpp:57 >> #1 0x00002aac6f84a4f6 in MemRegion::contains (this=0xb2fdad8, >> addr=0xfad9ef48) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/memRegion.hpp:70 >> #2 0x00002aac6f84ae49 in CollectedHeap::is_in_reserved (this=0xb2fdac8, >> p=0xfad9ef48) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/gc_interface/collectedHeap.hpp:201 >> #3 0x00002aac6f85942b in oopDesc::is_oop (this=0xfad9ef48, >> ignore_mark_word=false) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:534 >> #4 0x00002aac6fb7271d in HandleArea::allocate_handle (this=0xc41dce8, >> obj=0xfad9ef48) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.cpp:32 >> #5 0x00002aac6f98c3fd in Handle::Handle (this=0x42414150, obj=0xfad9ef48) >> at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.inline.hpp:32 >> #6 0x00002aac6f98c427 in constantPoolHandle::constantPoolHandle >> (this=0x42414150, obj=0xfad9ef48) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/handles.hpp:188 >> #7 0x00002aac6faf8b0c in fieldDescriptor::initialize (this=0x42414240, >> k=0xfad9fce0, index=0) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/fieldDescriptor.cpp:68 >> #8 0x00002aac6fb9ee19 in instanceKlass::find_local_field_from_offset >> (this=0xfad9fcf0, offset=12, is_static=false, fd=0x42414240) >> at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp:817 >> #9 0x00002aac6fb9ee92 in instanceKlass::find_field_from_offset >> (this=0xfad9fcf0, offset=12, is_static=false, fd=0x42414240) >> at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp:828 >> #10 0x00002aac6fc26511 in checkInstanceFieldID (thr=0xba70800, >> fid=0x3ca7747a33, obj=0x42424380, ftype=10) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jniCheck.cpp:236 >> #11 0x00002aac6fc27fe6 in checked_jni_GetIntField (env=0xba709e8, >> obj=0x42424380, fieldID=0x3ca7747a33) at >> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jniCheck.cpp:1024 >> #12 0x00002aaab35d9c52 in Java_java_net_SocketInputStream_socketRead0 >> (env=0xba709e8, this=0x42424378, fdObj=0x42424380, data=0x42424388, off=0, >> len=4, timeout=0) >> at ../../../src/solaris/native/java/net/SocketInputStream.c:75 >> #13 0x00002aaaab5b6dc7 in ?? () >> #14 0x0000000000000000 in ?? () >> >> >> >> >> On Wed, Jun 30, 2010 at 5:06 PM, Coleen Phillimore < >> coleen.phillimore at oracle.com > wrote: >> >> >>> This email is for primarily for discussion about the Hotspot code base and >>> not really for support. If you think this is a bug in hotspot you can file >>> a bug (as directed in the output of the crash). >>> >>> From the stack it looks like there's some bug in the native code. Try >>> running -Xcheck:jni and see if that helps diagnose your problem. >>> >>> Coleen >>> >>> >>> On 06/22/10 04:02, Dan Cojocar wrote: >>> >>> >>>> Hello, >>>> I'm running resin app server to process jms messages from an activemq >>>> queue >>>> and for last couple of days the jvm keeps crashing. I'm using CentOS >>>> release >>>> 5.4 (Final) and in dmesg logs I get something like: >>>> java[16538]: segfault at 0000000044d45ff8 rip 00002aab1b8964f8 rsp >>>> 0000000044d46000 error 6 >>>> I get the segfault also running with: jdk1.6.0_16 or jdk1.6.0_20. >>>> Compiled openjdk-7-ea-src-b98-17_jun_2010 with debug and using gdb I see >>>> the >>>> following backtraces: >>>> >>>> 1. Core was generated by `/home/dcojocar/jdk/build/-debug/bin/java >>>> -Dresin.watchdog=16600 -Djava.util.log'. >>>> Program terminated with signal 11, Segmentation fault. >>>> #0 0x00002b56ca667f40 in markOopDesc::value (this=Cannot access memory at >>>> address 0x442daff8 >>>> ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:102 >>>> 102 uintptr_t value() const { return (uintptr_t) this; } >>>> (gdb) bt >>>> #0 0x00002b56ca667f40 in markOopDesc::value (this=Cannot access memory at >>>> address 0x442daff8 >>>> ) at /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:102 >>>> #1 0x00002b56ca676c89 in markOopDesc::hash (this=0x3867ac1901) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:346 >>>> #2 0x00002b56ca676cb1 in markOopDesc::has_no_hash (this=0x3867ac1901) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:350 >>>> #3 0x00002b56ca84b3aa in oopDesc::identity_hash (this=0x9ad9fbf0) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:662 >>>> #4 0x00002b56ca982414 in jfieldIDWorkaround::klass_hash_ok (k=0x9ad9fbf0, >>>> id=0x70cf583233) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:167 >>>> #5 0x00002b56ca982506 in jfieldIDWorkaround::verify_instance_jfieldID >>>> (k=0x9ad9fbf0, id=0x70cf583233) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:180 >>>> #6 0x00002b56ca988913 in jfieldIDWorkaround::from_instance_jfieldID >>>> (k=0x9ad9fbf0, id=0x70cf583233) at >>>> >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/runtime/jfieldIDWorkaround.hpp:130 >>>> #7 0x00002b56ca985249 in jni_GetIntField (env=0x145fb9e8, obj=0x442eb270, >>>> fieldID=0x70cf583233) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:1703 >>>> #8 0x00002aaab282bc52 in Java_java_net_SocketInputStream_socketRead0 >>>> (env=0x145fb9e8, this=0x442eb268, fdObj=0x442eb270, data=0x442eb278, >>>> off=0, >>>> len=4, timeout=0) >>>> at ../../../src/solaris/native/java/net/SocketInputStream.c:75 >>>> #9 0x00002aaaab599a27 in ?? () >>>> #10 0x0000000000000000 in ?? () >>>> >>>> 2. Core was generated by `/home/dcojocar/jdk/build/-debug/bin/java >>>> -Dresin.watchdog=16600 -Djava.util.log'. >>>> Program terminated with signal 11, Segmentation fault. >>>> #0 0x00002b80d0a8d366 in StackObj::StackObj (this=0x42b02180) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/allocation.hpp:97 >>>> 97 class StackObj ALLOCATION_SUPER_CLASS_SPEC { >>>> (gdb) bt >>>> #0 0x00002b80d0a8d366 in StackObj::StackObj (this=0x42b02180) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/memory/allocation.hpp:97 >>>> #1 0x00002b80d0eacd3e in JNITraceWrapper::JNITraceWrapper >>>> (this=0x42b02180, >>>> format=0x2b80d1327434 "GetIntField") at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:214 >>>> #2 0x00002b80d0eaa218 in jni_GetIntField (env=0x194729e8, obj=0x42b12240, >>>> fieldID=0x70cf583233) at >>>> /home/dcojocar/jdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:1703 >>>> #3 0x00002aaaaf1a3c52 in Java_java_net_SocketInputStream_socketRead0 >>>> (env=0x194729e8, this=0x42b12238, fdObj=0x42b12240, data=0x42b12248, >>>> off=0, >>>> len=111, timeout=0) >>>> at ../../../src/solaris/native/java/net/SocketInputStream.c:75 >>>> #4 0x00002aaaab5c9fa7 in ?? () >>>> #5 0x0000000000000000 in ?? () >>>> >>>> Please advice what should I do next. >>>> Regards, >>>> Dan >>>> >>>> >>>> >>>> >>> >> > > From john.coomes at oracle.com Thu Jul 1 20:34:32 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 03:34:32 +0000 Subject: hg: jdk7/hotspot: 4 new changesets Message-ID: <20100702033432.37AB8476CE@hg.openjdk.java.net> Changeset: dc900d5a8e2f Author: mikejwre Date: 2010-06-24 20:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/dc900d5a8e2f Added tag jdk7-b99 for changeset e7f18db469a3 ! .hgtags Changeset: 47f6b7db1882 Author: ohair Date: 2010-06-21 11:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/47f6b7db1882 6960853: Cleanup makefiles, remove unused vars etc. 6959596: Windows fastdebug build broken 6960335: Add top level 'make test' rule that uses test/Makefile, runs all test batches Reviewed-by: alanb ! Makefile ! make/Defs-internal.gmk ! make/jprt.gmk ! make/sanity-rules.gmk ! test/Makefile Changeset: 3b147bf5a0e9 Author: lana Date: 2010-06-21 22:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/3b147bf5a0e9 Merge Changeset: b218a53ec7d3 Author: lana Date: 2010-06-29 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/b218a53ec7d3 Merge From john.coomes at oracle.com Thu Jul 1 20:34:36 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 03:34:36 +0000 Subject: hg: jdk7/hotspot/corba: 5 new changesets Message-ID: <20100702033441.D98D0476CF@hg.openjdk.java.net> Changeset: ad2aa1f66abf Author: mikejwre Date: 2010-06-24 20:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/ad2aa1f66abf Added tag jdk7-b99 for changeset 95db968660e7 ! .hgtags Changeset: 032585ad970d Author: jjg Date: 2010-06-14 11:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/032585ad970d 6960831: fix CORBA build warnings Reviewed-by: darcy ! src/share/classes/com/sun/corba/se/impl/orbutil/CorbaResourceUtil.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ObjectUtility.java ! src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java ! src/share/classes/org/omg/CORBA/ORB.java ! src/share/classes/sun/corba/Bridge.java Changeset: 8f0a1a30461d Author: lana Date: 2010-06-16 13:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/8f0a1a30461d Merge Changeset: 8eeca6e452de Author: lana Date: 2010-06-21 22:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/8eeca6e452de Merge Changeset: a56d734a1e97 Author: lana Date: 2010-06-29 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/a56d734a1e97 Merge From john.coomes at oracle.com Thu Jul 1 20:39:11 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 03:39:11 +0000 Subject: hg: jdk7/hotspot/jaxp: 5 new changesets Message-ID: <20100702033911.9A57A476D0@hg.openjdk.java.net> Changeset: 69a11eec2789 Author: mikejwre Date: 2010-06-24 20:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/69a11eec2789 Added tag jdk7-b99 for changeset 7ef8469021fb ! .hgtags Changeset: 214f47923c24 Author: ohair Date: 2010-06-17 10:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/214f47923c24 6955301: Update names and references to rebranded drop bundles (jaxp, jaxws, jaf) Reviewed-by: darcy ! jaxp.properties Changeset: 961ad5ff3b19 Author: ohair Date: 2010-06-17 10:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/961ad5ff3b19 6955292: Workaround ant 1.7.1 package-info.java issue in ant scripts 6960333: Add make level ALLOW_DOWNLOADS=true option 6940241: Change jaxp/jaxws so that the http downloads are not done by default Reviewed-by: darcy ! build-defs.xml ! build-drop-template.xml ! build.properties ! build.xml ! make/Makefile Changeset: 478835e100cd Author: lana Date: 2010-06-21 22:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/478835e100cd Merge Changeset: d524be5ef62e Author: lana Date: 2010-06-29 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/d524be5ef62e Merge From john.coomes at oracle.com Thu Jul 1 20:39:15 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 03:39:15 +0000 Subject: hg: jdk7/hotspot/jaxws: 5 new changesets Message-ID: <20100702033915.6AD8D476D1@hg.openjdk.java.net> Changeset: 5bca7bc114a0 Author: mikejwre Date: 2010-06-24 20:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/5bca7bc114a0 Added tag jdk7-b99 for changeset 818366ce23d8 ! .hgtags Changeset: 38fd32b8e990 Author: ohair Date: 2010-06-17 17:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/38fd32b8e990 6869741: Integrate JAX-WS 2.2 and JAXB 2.2 in JDK 7 Reviewed-by: darcy, ramap ! jaxws.properties Changeset: 48872561d4b1 Author: ohair Date: 2010-06-17 17:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/48872561d4b1 6955292: Workaround ant 1.7.1 package-info.java issue in ant scripts 6940241: Change jaxp/jaxws so that the http downloads are not done by default 6960333: Add make level ALLOW_DOWNLOADS=true option Reviewed-by: darcy, ramap ! build-defs.xml ! build-drop-template.xml ! build.properties ! build.xml ! make/Makefile Changeset: db63f482182d Author: lana Date: 2010-06-21 22:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/db63f482182d Merge Changeset: bd26d0ce0c3c Author: lana Date: 2010-06-29 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/bd26d0ce0c3c Merge From john.coomes at oracle.com Thu Jul 1 20:40:58 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 03:40:58 +0000 Subject: hg: jdk7/hotspot/jdk: 70 new changesets Message-ID: <20100702035226.BBC64476D2@hg.openjdk.java.net> Changeset: 3956cdee6712 Author: mikejwre Date: 2010-06-24 20:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3956cdee6712 Added tag jdk7-b99 for changeset 2587c9f0b60d ! .hgtags Changeset: 4d55419ce99e Author: andrew Date: 2010-06-08 17:52 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4d55419ce99e 6959123: Remove use of obsolete png_check_sig function in splashscreen_png.c Summary: Avoid use of deprecated libpng macro (removed in some 1.4.x releases) Reviewed-by: prr ! src/share/native/sun/awt/splashscreen/splashscreen_png.c Changeset: 2574d999704a Author: igor Date: 2010-06-10 15:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2574d999704a 6952043: Incorrect JNI calls in fontpath.c Reviewed-by: jgodinez, prr ! src/windows/native/sun/font/fontpath.c Changeset: ae887ea4c772 Author: lana Date: 2010-06-10 18:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ae887ea4c772 Merge - make/com/sun/inputmethods/Makefile - make/com/sun/inputmethods/indicim/Makefile - make/com/sun/inputmethods/thaiim/Makefile - src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariInputMethodDescriptor.java - src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariTables.java - src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethod.java - src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethodImpl.java - src/share/classes/com/sun/inputmethods/internal/indicim/java.awt.im.spi.InputMethodDescriptor - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_de.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_es.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_fr.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_it.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ja.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ko.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_sv.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_CN.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_TW.properties - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethod.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodDescriptor.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodImpl.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiRules.java - src/share/classes/com/sun/inputmethods/internal/thaiim/java.awt.im.spi.InputMethodDescriptor - src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties - src/share/classes/javax/swing/text/html/parser/html32.bdtd - src/share/classes/sun/security/tools/PolicyTool.java Changeset: 8b55669c7b7a Author: neugens Date: 2010-06-16 20:46 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8b55669c7b7a 6961732: FontMetrics.getLeading() may be negative in freetype-based OpenJDK builds. Summary: Fix premature integer roundings to preserve correct height, width and descent values for fonts Reviewed-by: prr ! src/share/native/sun/font/freetypeScaler.c Changeset: 83c7768292d7 Author: prr Date: 2010-06-18 11:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/83c7768292d7 6961633: gui applications cause a jvm crash on windows Reviewed-by: ceisserer, bae ! make/sun/pisces/Makefile ! src/share/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine + src/solaris/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine Changeset: 31d25fccdf1c Author: lana Date: 2010-06-21 22:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/31d25fccdf1c Merge Changeset: c02096d7b70e Author: anthony Date: 2010-06-16 11:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c02096d7b70e 6959787: java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html failed on 7b94 Summary: Add a delay to the test to make sure the filename filters are called. Reviewed-by: dcherepanov, art ! test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java Changeset: fa06ad055c43 Author: coffeys Date: 2010-06-16 16:15 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/fa06ad055c43 6860491: WRAP_TIME_MILLIS incorrectly set Summary: Alter WRAP_TIME_MILLIS to be unsigned Reviewed-by: yan ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 8722b75c9ccd Author: anthony Date: 2010-06-18 17:09 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8722b75c9ccd 6959165: JVM crash during execution FileDialogBufferOverflowTest.html Summary: Add proper synchronization Reviewed-by: art, dcherepanov ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c Changeset: 05eb107d6891 Author: anthony Date: 2010-06-18 17:13 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/05eb107d6891 6961754: JCK tests CvsEventTest0001 and CvsEventTest0002 fail under FF 3.5 on OEL 5 Summary: Check the return value of XlibUtil.translateCoordinates() for null Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: ae16c200341a Author: lana Date: 2010-06-21 22:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ae16c200341a Merge Changeset: ad5f65797249 Author: rupashka Date: 2010-06-02 11:59 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ad5f65797249 6857057: api/javax_swing/text/GlyphView/index.html#Methods test fails Reviewed-by: peterz ! src/share/classes/javax/swing/text/Utilities.java ! src/share/classes/javax/swing/text/WrappedPlainView.java + test/javax/swing/text/WrappedPlainView/6857057/StubBranchElement.java + test/javax/swing/text/WrappedPlainView/6857057/StubLeafElement.java + test/javax/swing/text/WrappedPlainView/6857057/bug6857057.java Changeset: dc14ee238fe3 Author: rupashka Date: 2010-06-02 12:53 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/dc14ee238fe3 6636983: Japanese text does not display correctly in a JEditorPane Reviewed-by: peterz ! src/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/html/HTMLDocument.java ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java Changeset: d1c875d94263 Author: lana Date: 2010-06-10 14:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d1c875d94263 Merge - src/share/classes/sun/security/tools/PolicyTool.java Changeset: 7a3d8fc0d2cd Author: malenkov Date: 2010-06-15 17:39 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7a3d8fc0d2cd 5066685: BorderFactory lacks SoftBevelBorder support Reviewed-by: alexp ! src/share/classes/javax/swing/BorderFactory.java Changeset: cf13f6389bdd Author: alexp Date: 2010-06-15 19:05 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/cf13f6389bdd 6788484: NPE in DefaultTableCellHeaderRenderer.getColumnSortOrder() with null table Reviewed-by: rupashka ! src/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java + test/javax/swing/JTable/6788484/bug6788484.java Changeset: 5e4969391538 Author: alexp Date: 2010-06-15 19:10 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5e4969391538 6735259: NPE at WindowsComboBoxUI$XPComboBoxButton.getState(WindowsComboBoxUI.java:408) Reviewed-by: rupashka ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java Changeset: cd565c554dc6 Author: alexp Date: 2010-06-15 21:28 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/cd565c554dc6 6771547: SynthParser throws StringIndexOutOfBoundsException parsing custom ColorTypes Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/synth/SynthParser.java + test/javax/swing/plaf/synth/6771547/SynthTest.java + test/javax/swing/plaf/synth/6771547/synthconfig.xml Changeset: 4d93c409ce87 Author: alexp Date: 2010-06-15 21:32 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4d93c409ce87 6739756: JToolBar leaves space for non-visible items under Nimbus L&F Reviewed-by: peterz ! src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java + test/javax/swing/plaf/synth/SynthToolBarUI/6739756/bug6739756.java Changeset: aaa62c1f221e Author: lana Date: 2010-06-21 22:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/aaa62c1f221e Merge Changeset: 17870c6c1d4e Author: alanb Date: 2010-06-02 09:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/17870c6c1d4e 6950927: Testcase failure sun/management/jmxremote/bootstrap/JvmstatCountersTest.java Reviewed-by: dholmes, dcubed ! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java ! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java Changeset: 6e57723b3519 Author: alanb Date: 2010-06-02 09:35 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6e57723b3519 Merge Changeset: 1db252f307b6 Author: martin Date: 2010-06-02 17:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1db252f307b6 6955840: ThreadLocalRandom bug - overriden setSeed(long) method is not invoked for java.util.Random(long) Summary: Allow setSeed only during construction Reviewed-by: dl, dholmes ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: ea8c57ec8409 Author: weijun Date: 2010-06-04 19:28 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ea8c57ec8409 6951366: kerberos login failure on win2008 with AD set to win2000 compat mode Reviewed-by: valeriep, xuelei ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbAsReq.java ! src/windows/classes/sun/security/krb5/internal/tools/Kinit.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/W83.java Changeset: 489c1720757b Author: chegar Date: 2010-06-08 10:46 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/489c1720757b 6957375: java/net/ResponseCache getResponseCode and ResponseCacheTest fail after rebranding Reviewed-by: ohair, wetmore, alanb ! test/java/net/ResponseCache/file1.cache Changeset: a21e3a29ca9d Author: darcy Date: 2010-06-08 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a21e3a29ca9d 6935997: Please add a nested throwable constructor to AssertionError Reviewed-by: martin, forax, wetmore ! src/share/classes/java/lang/AssertionError.java ! src/share/classes/java/security/Security.java Changeset: af68ad345389 Author: alanb Date: 2010-06-09 18:51 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/af68ad345389 6935563: (dc) Improve connection reset/port unreachable handling [win] Reviewed-by: chegar ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! src/windows/native/sun/nio/ch/Net.c + test/java/nio/channels/DatagramChannel/SelectWhenRefused.java Changeset: 1474dfa499e3 Author: mchung Date: 2010-06-10 14:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1474dfa499e3 6959965: jstat: Add new -classload option to print class loading statistics Summary: Add a new jstat -classload option Reviewed-by: alanb ! make/sun/tools/Makefile ! src/share/classes/sun/tools/jstat/Arguments.java ! src/share/classes/sun/tools/jstat/OptionFinder.java ! src/share/classes/sun/tools/jstat/OptionLister.java ! src/share/classes/sun/tools/jstat/resources/jstat_options + src/share/classes/sun/tools/jstat/resources/jstat_unsupported_options + test/sun/tools/jstat/classloadOutput1.awk + test/sun/tools/jstat/jstatClassloadOutput1.sh ! test/sun/tools/jstat/jstatOptions1.sh + test/sun/tools/jstat/options2.out Changeset: af827b7eb81d Author: mchung Date: 2010-06-10 14:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/af827b7eb81d Merge Changeset: f7a69b261b1d Author: martin Date: 2010-06-10 15:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f7a69b261b1d 6960394: Stop linking with -lnsl on Linux Summary: Define LIBNSL (like LIBSOCKET), non-empty only on Solaris Reviewed-by: ohair ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/java/hpi/hpi_common.gmk ! make/java/java/Makefile ! make/java/java_hprof_demo/Makefile ! make/java/net/Makefile ! make/jpda/transport/socket/Makefile ! make/mkdemo/jvmti/hprof/Makefile ! src/share/demo/jvmti/hprof/sample.makefile.txt Changeset: aa8effe6bb54 Author: martin Date: 2010-06-10 15:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/aa8effe6bb54 6959259: Minor improvements to static Random field caching Summary: Cache fields in locals; small javadoc clarifications Reviewed-by: emcmanus, dholmes, forax, dl ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/util/Collections.java Changeset: b1ec20722051 Author: weijun Date: 2010-06-11 11:38 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b1ec20722051 6958869: regression: PKIXValidator fails when multiple trust anchors have same dn Reviewed-by: xuelei, wetmore, mullan ! src/share/classes/sun/security/validator/PKIXValidator.java ! test/sun/security/validator/CertReplace.java ! test/sun/security/validator/certreplace.sh + test/sun/security/validator/samedn.sh Changeset: 06699a990ac7 Author: alanb Date: 2010-06-11 14:31 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/06699a990ac7 6934585: TEST_BUG: java/nio/channels/AsynchronousSocketChannel/Basic.java Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java Changeset: 7079585d6e0e Author: alanb Date: 2010-06-11 14:47 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7079585d6e0e 6938230: (so) SocketAdaptor.close() does not translate IOException resulting in Error Reviewed-by: chegar ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java Changeset: c849dc20dc85 Author: andrew Date: 2010-06-12 01:32 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c849dc20dc85 6959197: When building with JAVAC_MAX_WARNINGS=true, the build fails in sun/nio/cs due to the use of -Werror Summary: Remove unneeded casts, add generic types and make better use of static data Reviewed-by: sherman ! make/sun/nio/cs/Makefile ! src/share/classes/sun/io/ByteToCharISO2022.java ! src/share/classes/sun/io/ByteToCharISO2022JP.java ! src/share/classes/sun/io/ByteToCharJISAutoDetect.java ! src/share/classes/sun/io/CharToBytePCK.java ! src/share/classes/sun/nio/cs/ext/DoubleByte.java ! src/share/classes/sun/nio/cs/ext/EUC_JP.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java ! src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java ! src/share/classes/sun/nio/cs/ext/EUC_TW.java ! src/share/classes/sun/nio/cs/ext/GB18030.java ! src/share/classes/sun/nio/cs/ext/HKSCS.java ! src/share/classes/sun/nio/cs/ext/ISO2022.java ! src/share/classes/sun/nio/cs/ext/JISAutoDetect.java ! src/share/classes/sun/nio/cs/ext/PCK.java ! src/share/classes/sun/nio/cs/ext/SJIS.java ! src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java ! src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java Changeset: 422531c98ba5 Author: martin Date: 2010-06-11 18:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/422531c98ba5 6944584: Improvements to subprocess handling on Unix Summary: use thread pool for reaper thread; move most I/O operations out of reaper thread Reviewed-by: michaelm, hiroshi ! src/share/classes/java/lang/ProcessBuilder.java ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! test/java/lang/ProcessBuilder/Basic.java Changeset: 5a61a4f65c9c Author: martin Date: 2010-06-13 17:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5a61a4f65c9c 6960898: Regression due to src/share/classes/java/lang/ProcessBuilder.java changes Summary: Use Null{In,Out}putStream.INSTANCE as with Linux code Reviewed-by: ohair ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/windows/classes/java/lang/ProcessImpl.java Changeset: 76a9c90e9019 Author: alanb Date: 2010-06-15 10:03 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/76a9c90e9019 6961062: (dc) Several DatagramChannel tests timeout or fail with "address already in use" Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/DatagramChannel/Connect.java ! test/java/nio/channels/DatagramChannel/EmptyBuffer.java ! test/java/nio/channels/DatagramChannel/NoSender.java ! test/java/nio/channels/DatagramChannel/SRTest.java ! test/java/nio/channels/DatagramChannel/Sender.java Changeset: fb2d88134382 Author: mchung Date: 2010-06-14 14:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/fb2d88134382 6960789: com.sun.servicetag API needs to be added in ct.sym Summary: Include com.sun.servicetag classes when generating ct.sym Reviewed-by: alanb, jjg ! make/common/Release.gmk ! test/ProblemList.txt Changeset: c1f7ff3447ba Author: mchung Date: 2010-06-15 09:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c1f7ff3447ba 6952161: Rebranding: Registration html for servicetag Summary: Rebrand register.html and jdk_header.png Reviewed-by: ohair, asaha, ogino, mfang ! src/share/classes/com/sun/servicetag/resources/jdk_header.png ! src/share/classes/com/sun/servicetag/resources/register.html ! src/share/classes/com/sun/servicetag/resources/register_ja.html ! src/share/classes/com/sun/servicetag/resources/register_zh_CN.html Changeset: 915ca65d1db7 Author: mchung Date: 2010-06-15 09:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/915ca65d1db7 Merge ! test/ProblemList.txt Changeset: 8d7438dede10 Author: mchung Date: 2010-06-15 09:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8d7438dede10 6959641: testcase failing java/util/Locale/Bug4184873Test.java Summary: Revert the Bug4184873_{he,id,yi} files to revision 0 (before rebranding) Reviewed-by: naoto ! test/ProblemList.txt ! test/java/util/Locale/Bug4184873_he ! test/java/util/Locale/Bug4184873_id ! test/java/util/Locale/Bug4184873_yi Changeset: 72022d7d4578 Author: alanb Date: 2010-06-15 16:36 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/72022d7d4578 6932744: TEST_BUG: java/nio/channels/Selector/OpRead.java failing Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/Selector/OpRead.java Changeset: 91124d60b2ed Author: alanb Date: 2010-06-15 16:42 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/91124d60b2ed 6961358: TEST_BUG: java/nio/channels/SocketChannel/OpenLeak.java can't run in samevm mode Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/SocketChannel/OpenLeak.java Changeset: 125ec775c9d1 Author: alanb Date: 2010-06-15 21:43 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/125ec775c9d1 Merge ! test/ProblemList.txt Changeset: 1b7879ca3e74 Author: mchung Date: 2010-06-15 20:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1b7879ca3e74 6961518: TEST_BUG: add @run main/othervm in tests that call setSecurityManager Summary: Mark tests to run in othervm Reviewed-by: ohair ! test/ProblemList.txt ! test/java/beans/Beans/Test4080522.java ! test/java/beans/EventHandler/Test6277246.java ! test/java/beans/EventHandler/Test6277266.java ! test/java/beans/Introspector/Test6277246.java ! test/java/lang/ClassLoader/UninitializedParent.java ! test/java/lang/ClassLoader/findSystemClass/Loader.java ! test/java/lang/System/IgnoreNullSecurityManager.java ! test/java/lang/annotation/ParameterAnnotations.java ! test/java/util/ResourceBundle/Bug6359330.java ! test/java/util/ResourceBundle/Test4300693.java Changeset: 55e512967525 Author: mchung Date: 2010-06-15 20:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/55e512967525 6961506: TEST_BUG: ResourceBundle/Bug4168625Test.java and TestBug4179766.java fails in samevm mode Summary: Set the proper parent class loader of Loader and SimpleLoader Reviewed-by: naoto ! test/ProblemList.txt ! test/java/util/ResourceBundle/Bug4168625Test.java ! test/java/util/ResourceBundle/TestBug4179766.java Changeset: 8a4557c5dfa1 Author: alanb Date: 2010-06-16 14:24 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8a4557c5dfa1 6961630: TEST_BUG: Several SocketChannel and Selector tests can fail with "address already in use" Reviewed-by: chegar ! test/ProblemList.txt ! test/java/nio/channels/Selector/ByteServer.java ! test/java/nio/channels/Selector/CloseThenRegister.java ! test/java/nio/channels/Selector/ReadAfterConnect.java ! test/java/nio/channels/Selector/SelectAfterRead.java ! test/java/nio/channels/Selector/SelectWrite.java ! test/java/nio/channels/SocketChannel/BigReadWrite.java ! test/java/nio/channels/SocketChannel/VectorIO.java ! test/java/nio/channels/SocketChannel/Write.java ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/EchoTest.java Changeset: 8a286789de96 Author: ksrini Date: 2010-06-16 12:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/8a286789de96 6575373: Error verifying signatures of pack200 files in some cases Reviewed-by: jrose, forax ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/java/util/jar/Pack200.java ! test/tools/pack200/Pack200Test.java + test/tools/pack200/SegmentLimit.java Changeset: 705777f990cf Author: mchung Date: 2010-06-16 12:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/705777f990cf 6961502: TEST_BUG: test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java fails Summary: Fix the test to define TestClass by DummyClassLoader as it intends to do Reviewed-by: alanb ! test/ProblemList.txt ! test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java Changeset: 94404fea2067 Author: lana Date: 2010-06-16 14:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/94404fea2067 Merge - make/com/sun/inputmethods/Makefile - make/com/sun/inputmethods/indicim/Makefile - make/com/sun/inputmethods/thaiim/Makefile ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/Release.gmk - src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariInputMethodDescriptor.java - src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariTables.java - src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethod.java - src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethodImpl.java - src/share/classes/com/sun/inputmethods/internal/indicim/java.awt.im.spi.InputMethodDescriptor - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_de.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_es.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_fr.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_it.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ja.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ko.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_sv.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_CN.properties - src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_TW.properties - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethod.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodDescriptor.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodImpl.java - src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiRules.java - src/share/classes/com/sun/inputmethods/internal/thaiim/java.awt.im.spi.InputMethodDescriptor - src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties ! src/share/classes/com/sun/servicetag/resources/register.html ! src/share/classes/com/sun/servicetag/resources/register_ja.html ! src/share/classes/com/sun/servicetag/resources/register_zh_CN.html - src/share/classes/javax/swing/text/html/parser/html32.bdtd ! test/java/util/ResourceBundle/Bug4168625Test.java Changeset: 3df25d0680f3 Author: weijun Date: 2010-06-17 13:46 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3df25d0680f3 6959292: regression: cannot login if session key and preauth does not use the same etype Reviewed-by: xuelei, valeriep ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbAsReq.java ! src/share/classes/sun/security/krb5/internal/KRBError.java ! src/windows/classes/sun/security/krb5/internal/tools/Kinit.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/auto/W83.java Changeset: c995607e7719 Author: mchung Date: 2010-06-16 23:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c995607e7719 6961408: test/java/util/logging/ParentLoggersTest.java fails in samevm mode Summary: Check against the list of loggers added since the test begins to run Reviewed-by: dcubed ! test/ProblemList.txt ! test/java/util/logging/ParentLoggersTest.java Changeset: 1281181df71b Author: alanb Date: 2010-06-17 17:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1281181df71b 6395224: (so) SocketChannel writer blocked on large buffer is not preempted by close method (vista) Reviewed-by: chegar ! src/windows/native/sun/nio/ch/SocketDispatcher.c ! src/windows/native/sun/nio/ch/nio_util.h ! test/ProblemList.txt ! test/java/nio/channels/AsyncCloseAndInterrupt.java Changeset: 5e4547833379 Author: sherman Date: 2010-06-17 13:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5e4547833379 6962067: TEST_BUG: Tests in java/util/zip/ZipFile leave file open Summary: Close zipfile and io stream when done Reviewed-by: alanb ! test/ProblemList.txt ! test/java/util/zip/InfoZip.java ! test/java/util/zip/ZipFile/Comment.java ! test/java/util/zip/ZipFile/CorruptedZipFiles.java ! test/java/util/zip/ZipFile/ManyEntries.java Changeset: 006e852b692e Author: ohair Date: 2010-06-17 14:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/006e852b692e 6869741: Integrate JAX-WS 2.2 and JAXB 2.2 in JDK 7 Reviewed-by: ramap ! make/docs/CORE_PKGS.gmk Changeset: 6c188df7bfef Author: alanb Date: 2010-06-18 16:16 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6c188df7bfef 4981129: (dc) DatagramSocket created by DatagramChannel does not provide sender info Reviewed-by: chegar ! src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java ! test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java Changeset: 7526d0b9aab0 Author: mchung Date: 2010-06-18 09:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7526d0b9aab0 6961894: TEST_BUG: jdk_lang tests fail in samevm mode Summary: Fixed jdk_lang tests to run in samevm mode or mark to run in othervm Reviewed-by: alanb ! test/ProblemList.txt ! test/java/lang/System/ExitFinalizersAndJIT.java ! test/java/lang/Thread/GenerifyStackTraces.java ! test/java/lang/Thread/StackTraces.java ! test/java/lang/management/ClassLoadingMXBean/LoadCounts.java ! test/java/lang/management/ManagementFactory/MXBeanProxyTest.java ! test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java ! test/java/lang/management/MemoryMXBean/LowMemoryTest.java ! test/java/lang/management/MemoryMXBean/MemoryManagement.java ! test/java/lang/management/MemoryMXBean/Pending.java ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java ! test/java/lang/management/MemoryPoolMXBean/ThresholdTest.java ! test/java/lang/management/RuntimeMXBean/UpTime.java ! test/java/lang/management/ThreadMXBean/AllThreadIds.java ! test/java/lang/management/ThreadMXBean/DisableTest.java ! test/java/lang/management/ThreadMXBean/EnableTest.java ! test/java/lang/management/ThreadMXBean/FindDeadlocks.java ! test/java/lang/management/ThreadMXBean/FindMonitorDeadlock.java ! test/java/lang/management/ThreadMXBean/Locks.java ! test/java/lang/reflect/Proxy/Boxing.java ! test/java/lang/reflect/Proxy/ClassRestrictions.java ! test/java/lang/reflect/Proxy/returnTypes/Test.java Changeset: ac93014a4d78 Author: alanb Date: 2010-06-18 20:59 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ac93014a4d78 6962045: TEST_BUG: Tests in test/java/io/Serializable leave files open Reviewed-by: mchung ! test/ProblemList.txt ! test/java/io/Serializable/ClassCastExceptionDetail/Read.java ! test/java/io/Serializable/auditStreamSubclass/AuditStreamSubclass.java ! test/java/io/Serializable/backRefCNFException/Read.java ! test/java/io/Serializable/checkModifiers/CheckModifiers.java ! test/java/io/Serializable/classDescFlagConflict/Read.java ! test/java/io/Serializable/classDescHooks/ClassDescHooks.java ! test/java/io/Serializable/duplicateSerialFields/Test.java ! test/java/io/Serializable/enum/badResolve/Read.java ! test/java/io/Serializable/enum/constantSubclasses/Read.java ! test/java/io/Serializable/enum/missingConstant/Read.java ! test/java/io/Serializable/fieldTypeString/Read.java ! test/java/io/Serializable/illegalHandle/Test.java ! test/java/io/Serializable/longString/LongString.java ! test/java/io/Serializable/oldTests/AnnotateClass.java ! test/java/io/Serializable/oldTests/ArrayFields.java ! test/java/io/Serializable/oldTests/ArraysOfArrays.java ! test/java/io/Serializable/oldTests/BinaryTree.java ! test/java/io/Serializable/oldTests/CircularList.java ! test/java/io/Serializable/oldTests/SimpleArrays.java ! test/java/io/Serializable/oldTests/WritePrimitive.java ! test/java/io/Serializable/packageAccess/Test.java ! test/java/io/Serializable/parents/EvolvedClass.java ! test/java/io/Serializable/parents/OriginalClass.java ! test/java/io/Serializable/proxy/Basic.java ! test/java/io/Serializable/proxy/skipMissing/Read.java ! test/java/io/Serializable/proxy/skipMissing/Write.java ! test/java/io/Serializable/readObjectNoData/Read.java ! test/java/io/Serializable/skipWriteObject/Read.java ! test/java/io/Serializable/skippedObjCNFException/Read.java ! test/java/io/Serializable/stopCustomDeserialization/Read.java ! test/java/io/Serializable/unresolvedClassDesc/Read.java ! test/java/io/Serializable/unshared/Read.java ! test/java/io/Serializable/wrongReturnTypes/Read.java Changeset: 5919f0c72c0b Author: alanb Date: 2010-06-19 15:17 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5919f0c72c0b 6962419: TEST_BUG: java_io tests fails in samevm mode Reviewed-by: ohair, sherman ! test/ProblemList.txt ! test/java/io/BufferedReader/BigMark.java ! test/java/io/BufferedReader/ReadLineSync.java ! test/java/io/DataInputStream/OpsAfterClose.java ! test/java/io/DataInputStream/ReadFully.java ! test/java/io/File/DeleteOnExit.java ! test/java/io/File/DeleteOnExitNPE.java ! test/java/io/File/IsHidden.java ! test/java/io/FileInputStream/LeadingSlash.java ! test/java/io/InputStream/OpsAfterClose.java ! test/java/io/InputStream/ReadParams.java ! test/java/io/InputStreamReader/GrowAfterEOF.java ! test/java/io/ObjectInputStream/ResolveProxyClass.java ! test/java/io/RandomAccessFile/EOF.java ! test/java/io/RandomAccessFile/ParameterCheck.java ! test/java/io/RandomAccessFile/ReadLine.java ! test/java/io/RandomAccessFile/Seek.java ! test/java/io/RandomAccessFile/WriteBytesChars.java ! test/java/io/RandomAccessFile/WriteUTF.java ! test/java/io/RandomAccessFile/skipBytes/SkipBytes.java ! test/java/io/Reader/Skip.java ! test/java/io/Reader/SkipNegative.java ! test/java/io/StreamTokenizer/Comment.java ! test/java/io/readBytes/ReadBytesBounds.java Changeset: 43dfa39686a1 Author: ksrini Date: 2010-06-19 17:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/43dfa39686a1 6712743: pack200: should default to 150.7 pack format for classfiles without any classes. Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/java/util/jar/Pack200.java + test/tools/pack200/PackageVersionTest.java Changeset: a086a3d98711 Author: ohair Date: 2010-06-20 14:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a086a3d98711 6960853: Cleanup makefiles, remove unused vars etc. Reviewed-by: alanb ! make/common/shared/Defs-control.gmk ! make/netbeans/README ! make/netbeans/world/README ! make/netbeans/world/build.xml Changeset: 840265545bc3 Author: ohair Date: 2010-06-20 14:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/840265545bc3 6962617: Testcase changes, cleanup of problem list for jdk_tools targets Reviewed-by: alanb ! test/Makefile ! test/ProblemList.txt ! test/com/sun/jdi/PopAndInvokeTest.java ! test/com/sun/servicetag/JavaServiceTagTest1.java ! test/com/sun/servicetag/SystemRegistryTest.java ! test/com/sun/tools/attach/BasicTests.sh ! test/com/sun/tracing/BasicFunctionality.java ! test/sun/jvmstat/testlibrary/utils.sh ! test/sun/tools/jps/jps-Vvml_2.sh ! test/sun/tools/jps/jps-m_2.sh ! test/sun/tools/jstatd/jstatdDefaults.sh ! test/sun/tools/jstatd/jstatdExternalRegistry.sh ! test/sun/tools/jstatd/jstatdPort.sh ! test/sun/tools/jstatd/jstatdServerName.sh ! test/tools/jar/UpdateManifest.java ! test/tools/jar/index/MetaInf.java Changeset: 2366c2a5624c Author: mchung Date: 2010-06-20 19:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2366c2a5624c 6962478: Privacy page referenced in register_ja.html is incorrect Summary: Fix the URL for the privacy page Reviewed-by: ogino ! src/share/classes/com/sun/servicetag/resources/register_ja.html Changeset: fe7271b4aeea Author: mchung Date: 2010-06-21 15:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/fe7271b4aeea 6962815: support enable and disable of the servicetag's system registry for testing purpose Summary: Allow the system registry to be disabled/enabled at runtime Reviewed-by: ksrini ! src/share/classes/com/sun/servicetag/Registry.java ! test/com/sun/servicetag/FindServiceTags.java ! test/com/sun/servicetag/JavaServiceTagTest1.java ! test/com/sun/servicetag/SystemRegistryTest.java ! test/com/sun/servicetag/Util.java Changeset: 5438223734aa Author: lana Date: 2010-06-21 22:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5438223734aa Merge Changeset: 10a6319c9c15 Author: lana Date: 2010-06-29 22:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/10a6319c9c15 Merge Changeset: 861213cb02c3 Author: prr Date: 2010-06-29 16:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/861213cb02c3 6964882: 32 bit JDK does not build on 64 bit Windows platforms Reviewed-by: ohair, valeriep ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile Changeset: 511ddf6938ea Author: mikejwre Date: 2010-06-30 18:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/511ddf6938ea Merge From john.coomes at oracle.com Thu Jul 1 21:08:46 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 02 Jul 2010 04:08:46 +0000 Subject: hg: jdk7/hotspot/langtools: 18 new changesets Message-ID: <20100702040919.6ACDB476D4@hg.openjdk.java.net> Changeset: 9d02c4ce4275 Author: mikejwre Date: 2010-06-24 20:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/9d02c4ce4275 Added tag jdk7-b99 for changeset 005bec70ca27 ! .hgtags Changeset: 9a7c998bf2fc Author: darcy Date: 2010-06-02 19:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/9a7c998bf2fc 6933147: Provided new utility visitors supporting SourceVersion.RELEASE_7 Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/com/sun/tools/javah/JavahTask.java ! src/share/classes/com/sun/tools/javah/LLNI.java ! src/share/classes/com/sun/tools/javah/TypeSignature.java ! src/share/classes/javax/lang/model/element/ElementVisitor.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/AbstractElementVisitor6.java + src/share/classes/javax/lang/model/util/AbstractElementVisitor7.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/ElementKindVisitor6.java + src/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/share/classes/javax/lang/model/util/ElementScanner6.java + src/share/classes/javax/lang/model/util/ElementScanner7.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/SimpleElementVisitor6.java + src/share/classes/javax/lang/model/util/SimpleElementVisitor7.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/TypeKindVisitor6.java + src/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/share/sample/javac/processing/src/CheckNamesProcessor.java ! test/tools/javac/6402516/CheckLocalElements.java ! test/tools/javac/api/TestOperators.java ! test/tools/javac/enum/6424358/T6424358.java ! test/tools/javac/processing/model/6194785/T6194785.java ! test/tools/javac/processing/model/type/NoTypes.java ! test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Changeset: 559c9a37d9f6 Author: jjg Date: 2010-06-03 17:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/559c9a37d9f6 6955264: add option to suppress Abort in Check.completionError Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Check.java Changeset: 852d8bb356bc Author: darcy Date: 2010-06-03 19:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/852d8bb356bc 6519115: MirroredTypeException thrown but should be MirroredTypesException Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/share/classes/javax/lang/model/type/MirroredTypeException.java ! src/share/classes/javax/lang/model/type/MirroredTypesException.java + test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java Changeset: b7fc560217d3 Author: jjg Date: 2010-06-04 14:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/b7fc560217d3 6958391: add vizant support to langtools build Reviewed-by: mcimadamore ! make/build.properties ! make/build.xml Changeset: d33b91f360fc Author: jjg Date: 2010-06-04 17:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d33b91f360fc 6958802: cleanup and doc langtools build.xml file Reviewed-by: ohair ! make/build.properties ! make/build.xml Changeset: 46cf751559ae Author: mcimadamore Date: 2010-06-10 09:29 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/46cf751559ae 6945418: Project Coin: Simplified Varargs Method Invocation Summary: Add new mandatory warning for unsafe vararg method declaration. Warning can be suppressed as usual (@SuppressWarnings("varargs")/-Xlint:-varargs) Reviewed-by: jjg, darcy ! 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/Infer.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/javac/util/List.java ! test/tools/javac/varargs/6730476/T6730476a.java ! test/tools/javac/varargs/6806876/T6806876.out + test/tools/javac/varargs/warning/Warn4.java Changeset: f2fdd52e4e87 Author: jjg Date: 2010-06-10 16:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/f2fdd52e4e87 6944312: Potential rebranding issues in openjdk/langtools repository sources Reviewed-by: darcy ! src/share/classes/com/sun/javadoc/package.html ! src/share/classes/com/sun/mirror/overview.html ! src/share/classes/com/sun/source/tree/DisjointTypeTree.java ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/main/CommandLine.java ! src/share/classes/com/sun/tools/apt/main/JavaCompiler.java ! src/share/classes/com/sun/tools/apt/main/Main.java ! src/share/classes/com/sun/tools/apt/util/Bark.java ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/classfile/Annotation.java ! src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/AttributeException.java ! src/share/classes/com/sun/tools/classfile/Attributes.java ! src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java ! src/share/classes/com/sun/tools/classfile/ClassFile.java ! src/share/classes/com/sun/tools/classfile/ClassReader.java ! src/share/classes/com/sun/tools/classfile/ClassTranslator.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/Code_attribute.java ! src/share/classes/com/sun/tools/classfile/CompilationID_attribute.java ! src/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/share/classes/com/sun/tools/classfile/ConstantPoolException.java ! src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java ! src/share/classes/com/sun/tools/classfile/DefaultAttribute.java ! src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java ! src/share/classes/com/sun/tools/classfile/Descriptor.java ! src/share/classes/com/sun/tools/classfile/DescriptorException.java ! src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java ! src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java ! src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java ! src/share/classes/com/sun/tools/classfile/Field.java ! src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java ! src/share/classes/com/sun/tools/classfile/Instruction.java ! src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java ! src/share/classes/com/sun/tools/classfile/Method.java ! src/share/classes/com/sun/tools/classfile/Opcode.java ! src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/Signature.java ! src/share/classes/com/sun/tools/classfile/Signature_attribute.java ! src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java ! src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java ! src/share/classes/com/sun/tools/classfile/SourceID_attribute.java ! src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java ! src/share/classes/com/sun/tools/classfile/StackMap_attribute.java ! src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java ! src/share/classes/com/sun/tools/classfile/Type.java ! src/share/classes/com/sun/tools/javac/Launcher.java ! src/share/classes/com/sun/tools/javac/Server.java ! src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/api/Formattable.java ! src/share/classes/com/sun/tools/javac/api/JavacScope.java ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/api/Messages.java ! src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/BoundKind.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Kinds.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/Scope.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/Symtab.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/TypeTags.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/AttrContext.java ! src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.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/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Env.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Infer.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/Todo.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/file/BaseFileObject.java ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java ! src/share/classes/com/sun/tools/javac/file/FSInfo.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/Paths.java ! src/share/classes/com/sun/tools/javac/file/RegularFileObject.java ! src/share/classes/com/sun/tools/javac/file/RelativePath.java ! src/share/classes/com/sun/tools/javac/file/SymbolArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipArchive.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java ! src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java ! src/share/classes/com/sun/tools/javac/jvm/CRTFlags.java ! src/share/classes/com/sun/tools/javac/jvm/CRTable.java ! src/share/classes/com/sun/tools/javac/jvm/ClassFile.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/Items.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java ! src/share/classes/com/sun/tools/javac/jvm/Target.java ! src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java ! src/share/classes/com/sun/tools/javac/main/CommandLine.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/JavacOption.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java ! src/share/classes/com/sun/tools/javac/parser/EndPosParser.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Keywords.java ! src/share/classes/com/sun/tools/javac/parser/Lexer.java ! src/share/classes/com/sun/tools/javac/parser/Parser.java ! src/share/classes/com/sun/tools/javac/parser/ParserFactory.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/Token.java ! src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java ! src/share/classes/com/sun/tools/javac/processing/JavacFiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacMessager.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java ! src/share/classes/com/sun/tools/javac/sym/CreateSymbols.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/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/Abort.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/AbstractLog.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/Bits.java ! src/share/classes/com/sun/tools/javac/util/ByteBuffer.java ! src/share/classes/com/sun/tools/javac/util/ClientCodeException.java ! src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java ! src/share/classes/com/sun/tools/javac/util/Constants.java ! src/share/classes/com/sun/tools/javac/util/Context.java ! src/share/classes/com/sun/tools/javac/util/Convert.java ! src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java ! src/share/classes/com/sun/tools/javac/util/FatalError.java ! src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/JavacMessages.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/ListBuffer.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/MandatoryWarningHandler.java ! src/share/classes/com/sun/tools/javac/util/Name.java ! src/share/classes/com/sun/tools/javac/util/Names.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! src/share/classes/com/sun/tools/javac/util/Pair.java ! src/share/classes/com/sun/tools/javac/util/Position.java ! src/share/classes/com/sun/tools/javac/util/PropagatedException.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/SharedNameTable.java ! src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java ! src/share/classes/com/sun/tools/javac/util/Warner.java ! src/share/classes/com/sun/tools/javah/Gen.java ! src/share/classes/com/sun/tools/javah/InternalError.java ! src/share/classes/com/sun/tools/javah/JNI.java ! src/share/classes/com/sun/tools/javah/JavahFileManager.java ! src/share/classes/com/sun/tools/javah/JavahTask.java ! src/share/classes/com/sun/tools/javah/JavahTool.java ! src/share/classes/com/sun/tools/javah/LLNI.java ! src/share/classes/com/sun/tools/javah/Main.java ! src/share/classes/com/sun/tools/javah/Mangle.java ! src/share/classes/com/sun/tools/javah/NativeHeaderTool.java ! src/share/classes/com/sun/tools/javah/TypeSignature.java ! src/share/classes/com/sun/tools/javah/Util.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/BasicWriter.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/ConstantWriter.java ! src/share/classes/com/sun/tools/javap/Context.java ! src/share/classes/com/sun/tools/javap/DisassemblerTool.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java ! src/share/classes/com/sun/tools/javap/InternalError.java ! src/share/classes/com/sun/tools/javap/JavapFileManager.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java ! src/share/classes/com/sun/tools/javap/LocalVariableTypeTableWriter.java ! src/share/classes/com/sun/tools/javap/Main.java ! src/share/classes/com/sun/tools/javap/Messages.java ! src/share/classes/com/sun/tools/javap/Options.java ! src/share/classes/com/sun/tools/javap/SourceWriter.java ! src/share/classes/com/sun/tools/javap/StackMapWriter.java ! src/share/classes/com/sun/tools/javap/TryBlockWriter.java ! src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/overview.html ! test/tools/apt/mirror/declaration/pkg1/pkg2/package.html ! test/tools/javac/6948381/T6948381.java ! test/tools/javac/6948381/npe/A.java ! test/tools/javac/6948381/npe/B.java ! test/tools/javac/api/evalexpr/ByteArrayClassLoader.java ! test/tools/javac/api/evalexpr/CompileFromString.java ! test/tools/javac/api/evalexpr/MemoryFileManager.java ! test/tools/javac/generics/diamond/T6951833.java ! test/tools/javac/generics/typevars/T6880344.java ! test/tools/javac/varargs/warning/Warn4.java Changeset: 366a7b9b5627 Author: jjg Date: 2010-06-10 17:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/366a7b9b5627 6960407: Potential rebranding issues in openjdk/langtools repository sources Reviewed-by: darcy ! make/Makefile ! make/Makefile-classic ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TaskListener.java ! src/share/classes/com/sun/tools/doclets/formats/html/package.html ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.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/Symtab.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/resources/compiler.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties ! src/share/classes/javax/tools/JavaFileManager.java Changeset: 224533455888 Author: jjg Date: 2010-06-11 07:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/224533455888 6877961: langtools build should allow more options when running jtreg Reviewed-by: mcimadamore ! make/build.xml Changeset: d1ea43cb71c1 Author: jjg Date: 2010-06-11 17:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d1ea43cb71c1 6958836: javadoc should support -Xmaxerrs and -Xmaxwarns Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/Start.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties + test/tools/javadoc/6958836/Test.java + test/tools/javadoc/6958836/errs/Errors.java + test/tools/javadoc/6958836/warns/Warnings.java Changeset: 0840dd65b9e2 Author: jjg Date: 2010-06-16 16:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/0840dd65b9e2 6956638: JavacTask.generate does not generate all required files Reviewed-by: darcy Contributed-by: joshuamaurice at gmail.com + test/tools/javac/T6956638.java Changeset: 93e1975eea7a Author: lana Date: 2010-06-16 14:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/93e1975eea7a Merge ! test/tools/apt/mirror/declaration/pkg1/pkg2/package.html Changeset: e2b845fdc437 Author: lana Date: 2010-06-16 17:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/e2b845fdc437 Merge Changeset: 0ba1f80b73a5 Author: jjg Date: 2010-06-18 16:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/0ba1f80b73a5 6962540: langtools Makefile sets DEV_NULL incorrectly Reviewed-by: ohair ! make/Makefile Changeset: 4177f5bdd189 Author: jjg Date: 2010-06-18 21:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4177f5bdd189 6961178: Allow doclet.xml to contain XML attributes Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java Changeset: 4cca8d7ce6c1 Author: lana Date: 2010-06-21 22:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/4cca8d7ce6c1 Merge Changeset: d1d7595fa824 Author: lana Date: 2010-06-29 22:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d1d7595fa824 Merge ! 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/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/util/Names.java From yamauchi at google.com Fri Jul 2 11:04:51 2010 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Fri, 2 Jul 2010 11:04:51 -0700 Subject: SIGSEGV on GCTaskThread in jdk 6u18 In-Reply-To: <4B58788E.2060403@sun.com> References: <9555002.581264065388011.JavaMail.root@zs.crcpraha> <4B58788E.2060403@sun.com> Message-ID: Hi folks, I dig up this old thread. I thought this issue has been resolved. But I've been still seeing a similar crash in the UseParallelGC collector with a version of HS16 (and HS11, too.) Here's the stack trace at the crash point: PSPromotionManager::copy_to_survivor_space(oopDesc*, bool) PSPromotionManager::drain_stacks_depth(bool) CardTableExtension::scavenge_contents_parallel(ObjectStartArray*, MutableSpace*, HeapWord*, PSPromotionManager*, unsigned int) OldToYoungRootsTask::do_it(GCTaskManager*, unsigned int) GCTaskThread::run() java_start(Thread*) which is similar to the one from http://bugs.sun.com/view_bug.do?bug_id=6896647 . This bug is marked 'fix delivered'. We made sure we have already had the patch http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7b0e9cba0307 incorporated in our build. Also, we tried the -XX:-ReduceInitialCardMarks flag. But the crash keeps coming back (though the flag seems to reduce the frequency of the crash). This is on Linux/x86_32. A potentially related bug might be http://bugs.sun.com/view_bug.do?bug_id=6850723 Is there some other patch that we should use or some other workarounds or diagnosis we can try? Thanks, Hiroshi On Thu, Jan 21, 2010 at 8:53 AM, Y. Srinivas Ramakrishna wrote: > Janda Martin wrote: >> >> Thank you for fast response. I supposed that I use Serial GC so this >> problem is different. > > Unless you specify it explicitly via -XX:+UseSerialGC, the GC ergonomics > might pick a different collector, and in this case it picked parallel gc > because yr machine was considered a "server class" machine (or some such) > because you had 8 cores on yr box. > >> >> ?I will try ReduceInitialCardMarks > > Yes either that, or explicitly specify serial gc. > > In your case, since you have 8 cores, you should use -ReduceInitialCardMarks > and continue using the parallel collector you are getting by default. > Indeed you might want to specify -XX:+UseParallelOldGC which i think you > aren't getting by default (i wonder why; i thought that was the parallel > collector default now, but haven't checked recently). > > -- ramki > >> >> ?Martin >> >> ----- Original Message ----- >> From: "Vladimir Kozlov" >> To: hotspot-dev at openjdk.java.net >> Sent: Thursday, January 21, 2010 10:03:01 AM GMT +01:00 Amsterdam / Berlin >> / Bern / Rome / Stockholm / Vienna >> Subject: Re: SIGSEGV on GCTaskThread in jdk 6u18 >> >> Try -XX:-ReduceInitialCardMarks >> >> Please, read release notes for 6u18. >> >> Vladimir >> >> On 1/21/10 12:24 AM, Andreas Kohn wrote: >>> >>> On Thu, 2010-01-21 at 08:45 +0100, Janda Martin wrote: >>>> >>>> Please can you help me. I experienced several crashes on GCTaskThread in >>>> latest Java6u18 when running IntelliJ IDEA (not only). 64bit linux, 32bit >>>> jvm, 4 core processor >>>> ?I create new bug report with Review ID: 1699960. >>>> >>>> ? Is there any -XX options to help diagnose this problem. It looks like >>>> regression from 6u17 (maybe) or 6u16 (sure). >>> >>> We observed a very similar 6u18 crash (once so far), 64bit linux, 64bit >>> jvm. >>> >>> I have attached our hs_err log as well. >>> >>> Regards, >>> -- >>> Andreas >>> > > From aph at redhat.com Mon Jul 5 07:27:06 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 05 Jul 2010 15:27:06 +0100 Subject: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows Message-ID: <4C31EBBA.3050103@redhat.com> I'm looking at this one. The evaluation says: "As the submitter notes the functionality exists but is disabled by default. The user can easily enable it by specifying -XX:+UseLinuxPosixThreadCPUClocks "The functionality was added for JDK 6 under CR 6200022 but there was concern at the time about enabling it by default (those concerns are not documented in 6200022). "Perhaps it is time to enable this feature by default?" http://bugs.sun.com/view_bug.do?bug_id=6888526 Perhaps there was a problem with backwards compatibility: if that is still the case, I can build and test on an old version of Red Hat Enterprise Linux. I suppose anything older than 2.6.10 will do. The other question is whether the UseLinuxPosixThreadCPUClocks option should be removed entirely. I think it probably should, and we can simply assume a kernel more recent than 2.6.10. This is more of a policy issue than a technical one, so I'm seeking guidance for this. Andrew. From y.s.ramakrishna at oracle.com Mon Jul 5 12:06:51 2010 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Mon, 05 Jul 2010 12:06:51 -0700 Subject: SIGSEGV on GCTaskThread in jdk 6u18 In-Reply-To: References: <9555002.581264065388011.JavaMail.root@zs.crcpraha> <4B58788E.2060403@sun.com> Message-ID: <4C322D4B.20407@oracle.com> Hi Hiroshi -- If you have to use an older version (i.e. hs16 etc.), i'd suggest using the workaround below, and of running with heap verification enabled to see what may be causing the issue. Yes, missing card-marks (generated code, interpreter, or GC) or bad oop-maps for example can also cause such crashes. Heap verification would help narrow that down some for further debugging to proceed. If you have a support contract, feel free to file a detailed bug and/or escalate. At that time please include a test case if you have one. oh, and please do check if you can reproduce with the most recent bits... thanks! -- ramki On 07/02/10 11:04, Hiroshi Yamauchi wrote: > Hi folks, > > I dig up this old thread. I thought this issue has been resolved. But > I've been still seeing a similar crash in the UseParallelGC collector > with a version of HS16 (and HS11, too.) > > Here's the stack trace at the crash point: > > PSPromotionManager::copy_to_survivor_space(oopDesc*, bool) > PSPromotionManager::drain_stacks_depth(bool) > CardTableExtension::scavenge_contents_parallel(ObjectStartArray*, > MutableSpace*, HeapWord*, PSPromotionManager*, unsigned int) > OldToYoungRootsTask::do_it(GCTaskManager*, unsigned int) > GCTaskThread::run() > java_start(Thread*) > > which is similar to the one from > http://bugs.sun.com/view_bug.do?bug_id=6896647 . This bug is marked > 'fix delivered'. We made sure we have already had the patch > http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7b0e9cba0307 > incorporated in our build. Also, we tried the > -XX:-ReduceInitialCardMarks flag. But the crash keeps coming back > (though the flag seems to reduce the frequency of the crash). This is > on Linux/x86_32. > > A potentially related bug might be > http://bugs.sun.com/view_bug.do?bug_id=6850723 > > Is there some other patch that we should use or some other workarounds > or diagnosis we can try? > > Thanks, > Hiroshi > > > On Thu, Jan 21, 2010 at 8:53 AM, Y. Srinivas Ramakrishna > wrote: >> Janda Martin wrote: >>> Thank you for fast response. I supposed that I use Serial GC so this >>> problem is different. >> Unless you specify it explicitly via -XX:+UseSerialGC, the GC ergonomics >> might pick a different collector, and in this case it picked parallel gc >> because yr machine was considered a "server class" machine (or some such) >> because you had 8 cores on yr box. >> >>> I will try ReduceInitialCardMarks >> Yes either that, or explicitly specify serial gc. >> >> In your case, since you have 8 cores, you should use -ReduceInitialCardMarks >> and continue using the parallel collector you are getting by default. >> Indeed you might want to specify -XX:+UseParallelOldGC which i think you >> aren't getting by default (i wonder why; i thought that was the parallel >> collector default now, but haven't checked recently). >> >> -- ramki >> >>> Martin >>> >>> ----- Original Message ----- >>> From: "Vladimir Kozlov" >>> To: hotspot-dev at openjdk.java.net >>> Sent: Thursday, January 21, 2010 10:03:01 AM GMT +01:00 Amsterdam / Berlin >>> / Bern / Rome / Stockholm / Vienna >>> Subject: Re: SIGSEGV on GCTaskThread in jdk 6u18 >>> >>> Try -XX:-ReduceInitialCardMarks >>> >>> Please, read release notes for 6u18. >>> >>> Vladimir >>> >>> On 1/21/10 12:24 AM, Andreas Kohn wrote: >>>> On Thu, 2010-01-21 at 08:45 +0100, Janda Martin wrote: >>>>> Please can you help me. I experienced several crashes on GCTaskThread in >>>>> latest Java6u18 when running IntelliJ IDEA (not only). 64bit linux, 32bit >>>>> jvm, 4 core processor >>>>> I create new bug report with Review ID: 1699960. >>>>> >>>>> Is there any -XX options to help diagnose this problem. It looks like >>>>> regression from 6u17 (maybe) or 6u16 (sure). >>>> We observed a very similar 6u18 crash (once so far), 64bit linux, 64bit >>>> jvm. >>>> >>>> I have attached our hs_err log as well. >>>> >>>> Regards, >>>> -- >>>> Andreas >>>> >> From aph at redhat.com Tue Jul 6 10:55:12 2010 From: aph at redhat.com (Andrew Haley) Date: Tue, 06 Jul 2010 18:55:12 +0100 Subject: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C31EBBA.3050103@redhat.com> References: <4C31EBBA.3050103@redhat.com> Message-ID: <4C336E00.6000108@redhat.com> On 07/05/2010 03:27 PM, Andrew Haley wrote: > I'm looking at this one. > > The evaluation says: > > "As the submitter notes the functionality exists but is disabled by > default. The user can easily enable it by specifying > -XX:+UseLinuxPosixThreadCPUClocks > > "The functionality was added for JDK 6 under CR 6200022 but there was > concern at the time about enabling it by default (those concerns are > not documented in 6200022). > > "Perhaps it is time to enable this feature by default?" > > http://bugs.sun.com/view_bug.do?bug_id=6888526 > > Perhaps there was a problem with backwards compatibility: if that is > still the case, I can build and test on an old version of Red Hat > Enterprise Linux. I suppose anything older than 2.6.10 will do. I just tried, and the current OpenJDK won't even build on Red Hat Enterprise Linux Version 4, which is what we'd need to do to test a system without pthread_getcpuclockid(). It won't build because a version of Freetype greater than 2.3.0 is required, and RHEL 4 has 1.6.3. I suggest that I should simply change the default of UseLinuxPosixThreadCPUClocks to true, but leave the rest of the scaffolding in place in case someone needs to disable it. OK? Andrew. From aph at redhat.com Wed Jul 7 10:33:26 2010 From: aph at redhat.com (Andrew Haley) Date: Wed, 07 Jul 2010 18:33:26 +0100 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C336FF2.50109@sun.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> Message-ID: <4C34BA66.70002@redhat.com> The evaluation says: "As the submitter notes the functionality exists but is disabled by default. The user can easily enable it by specifying -XX:+UseLinuxPosixThreadCPUClocks "The functionality was added for JDK 6 under CR 6200022 but there was concern at the time about enabling it by default (those concerns are not documented in 6200022). "Perhaps it is time to enable this feature by default?" I changed the default for this parameter to true. I tested this change on an older Linux system that does not have the high-speed thread clock interface (Red Hat Enterprise Linux AS release 4, kernel 2.6.9). The test case still works, but slowly. On a more recent system (Fedora 12, kernel 2.6.31) the test case is much speeded up. Is there any more testing that I should do? Patch at http://cr.openjdk.java.net/~aph/6888526/ OK to push? Andrew. From daniel.daugherty at oracle.com Wed Jul 7 15:56:41 2010 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 07 Jul 2010 16:56:41 -0600 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C34BA66.70002@redhat.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> Message-ID: <4C350629.2010608@oracle.com> Andrew, I concur that it is time to change the default value for this flag so thumbs up on the webrev. My only worry is about HSX-19 deliveries into JDK-Updates. I'll poke around and see if I can find a statement about the minimum Linux that is supported. The majority of the JVM/TI relevant tests are internal so those won't do you much good. If you push this change to http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot a.k.a. RT_Baseline, I can keep an eye on the internal test results. Dan On 7/7/2010 11:33 AM, Andrew Haley wrote: > The evaluation says: > > "As the submitter notes the functionality exists but is disabled by > default. The user can easily enable it by specifying > -XX:+UseLinuxPosixThreadCPUClocks > > "The functionality was added for JDK 6 under CR 6200022 but there was > concern at the time about enabling it by default (those concerns are > not documented in 6200022). > > "Perhaps it is time to enable this feature by default?" > > I changed the default for this parameter to true. > > I tested this change on an older Linux system that does not have the > high-speed thread clock interface (Red Hat Enterprise Linux AS release > 4, kernel 2.6.9). The test case still works, but slowly. > > On a more recent system (Fedora 12, kernel 2.6.31) the test case is > much speeded up. > > Is there any more testing that I should do? > > Patch at http://cr.openjdk.java.net/~aph/6888526/ > > OK to push? > > Andrew. > From daniel.daugherty at oracle.com Wed Jul 7 16:03:59 2010 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Wed, 07 Jul 2010 17:03:59 -0600 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C350629.2010608@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> Message-ID: <4C3507DF.2060107@oracle.com> The official configurations are listed here: http://java.sun.com/javase/6/webnotes/install/system-configurations.html but I don't know how to translate the various Linux versions into something that would help resolve this issue. Dan On 7/7/2010 4:56 PM, Daniel D. Daugherty wrote: > Andrew, > > I concur that it is time to change the default value for this flag > so thumbs up on the webrev. > > My only worry is about HSX-19 deliveries into JDK-Updates. I'll > poke around and see if I can find a statement about the minimum > Linux that is supported. > > The majority of the JVM/TI relevant tests are internal so those > won't do you much good. If you push this change to > > http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot > > a.k.a. RT_Baseline, I can keep an eye on the internal test results. > > Dan > > > On 7/7/2010 11:33 AM, Andrew Haley wrote: >> The evaluation says: >> >> "As the submitter notes the functionality exists but is disabled by >> default. The user can easily enable it by specifying >> -XX:+UseLinuxPosixThreadCPUClocks >> >> "The functionality was added for JDK 6 under CR 6200022 but there was >> concern at the time about enabling it by default (those concerns are >> not documented in 6200022). >> >> "Perhaps it is time to enable this feature by default?" >> >> I changed the default for this parameter to true. >> >> I tested this change on an older Linux system that does not have the >> high-speed thread clock interface (Red Hat Enterprise Linux AS release >> 4, kernel 2.6.9). The test case still works, but slowly. >> >> On a more recent system (Fedora 12, kernel 2.6.31) the test case is >> much speeded up. >> >> Is there any more testing that I should do? >> >> Patch at http://cr.openjdk.java.net/~aph/6888526/ >> >> OK to push? >> >> Andrew. >> > From tom.rodriguez at oracle.com Wed Jul 7 16:50:28 2010 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 07 Jul 2010 23:50:28 +0000 Subject: hg: jdk7/hotspot/hotspot: 3 new changesets Message-ID: <20100707235040.3C8E747815@hg.openjdk.java.net> Changeset: 65b0c03b165d Author: never Date: 2010-07-02 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/65b0c03b165d 6965671: fatal error: acquiring lock JNIGlobalHandle_lock/16 out of order with lock CodeCache_lock/1 Reviewed-by: kvn, dcubed ! src/share/vm/prims/jvmtiCodeBlobEvents.cpp Changeset: 60a14ad85270 Author: kvn Date: 2010-07-02 17:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/60a14ad85270 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP Summary: Execute IGVN optimization before and after Escape Analysis Reviewed-by: never ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/escape.hpp Changeset: a693e51ac197 Author: never Date: 2010-07-07 12:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a693e51ac197 Merge From David.Holmes at oracle.com Wed Jul 7 21:34:58 2010 From: David.Holmes at oracle.com (David Holmes) Date: Thu, 08 Jul 2010 14:34:58 +1000 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C3507DF.2060107@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> Message-ID: <4C355572.4020609@oracle.com> Daniel D. Daugherty said the following on 07/08/10 09:03: > The official configurations are listed here: > > http://java.sun.com/javase/6/webnotes/install/system-configurations.html > > but I don't know how to translate the various Linux versions > into something that would help resolve this issue. The functionality should be supported in all 2.6.16+ kernels, and potentially supported in 2.6.10+ with appropriate patches - but, like Dan, I have no way to know what kernel versions the supported Linux distros actually have. Because we dynamically check for the supported functionality this should not cause a problem as we will fall-back to using "slow clocks" if they aren't present. I agree it is time to change this default, but note that we need to mention this in the release notes somewhere and, more importantly, we need to ensure there is extensive testing here because we may be using OS functionality that has hitherto been unused (or little used) and we may encounter bugs in that functionality (bugs in the OS? surely not! ;-)) Further, as Dan mentions, this would then affect Java 6 updates and that is not allowed (without additional 'paperwork') so we'd have to augment Arguments::parse_each_vm_init_arg in arguments.cpp by adding to the end: if (JDK_Version::current().compare_major(6) <= 0 && FLAG_IS_DEFAULT(UseLinuxPosixThreadCPUClocks)) { FLAG_SET_DEFAULT(UseLinuxPosixThreadCPUClocks, false); } this forces the flag to false in Java 6 unless it has been set explicitly. Cheers, David Holmes > Dan > > > > On 7/7/2010 4:56 PM, Daniel D. Daugherty wrote: >> Andrew, >> >> I concur that it is time to change the default value for this flag >> so thumbs up on the webrev. >> >> My only worry is about HSX-19 deliveries into JDK-Updates. I'll >> poke around and see if I can find a statement about the minimum >> Linux that is supported. >> >> The majority of the JVM/TI relevant tests are internal so those >> won't do you much good. If you push this change to >> >> http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot >> >> a.k.a. RT_Baseline, I can keep an eye on the internal test results. >> >> Dan >> >> >> On 7/7/2010 11:33 AM, Andrew Haley wrote: >>> The evaluation says: >>> >>> "As the submitter notes the functionality exists but is disabled by >>> default. The user can easily enable it by specifying >>> -XX:+UseLinuxPosixThreadCPUClocks >>> >>> "The functionality was added for JDK 6 under CR 6200022 but there was >>> concern at the time about enabling it by default (those concerns are >>> not documented in 6200022). >>> >>> "Perhaps it is time to enable this feature by default?" >>> >>> I changed the default for this parameter to true. >>> >>> I tested this change on an older Linux system that does not have the >>> high-speed thread clock interface (Red Hat Enterprise Linux AS release >>> 4, kernel 2.6.9). The test case still works, but slowly. >>> >>> On a more recent system (Fedora 12, kernel 2.6.31) the test case is >>> much speeded up. >>> >>> Is there any more testing that I should do? >>> >>> Patch at http://cr.openjdk.java.net/~aph/6888526/ >>> >>> OK to push? >>> >>> Andrew. >>> >> From aph at redhat.com Thu Jul 8 03:29:54 2010 From: aph at redhat.com (Andrew Haley) Date: Thu, 08 Jul 2010 11:29:54 +0100 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C355572.4020609@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> <4C355572.4020609@oracle.com> Message-ID: <4C35A8A2.4020304@redhat.com> On 07/08/2010 05:34 AM, David Holmes wrote: > Daniel D. Daugherty said the following on 07/08/10 09:03: >> The official configurations are listed here: >> >> http://java.sun.com/javase/6/webnotes/install/system-configurations.html >> >> but I don't know how to translate the various Linux versions >> into something that would help resolve this issue. > > The functionality should be supported in all 2.6.16+ kernels, and > potentially supported in 2.6.10+ with appropriate patches - but, like > Dan, I have no way to know what kernel versions the supported Linux > distros actually have. I can speak for the Red Hat distros: RHEL 4, which I tested, has the 2.6.9 kernel. It's the most recent Red Hat distro that does not support the fast timers. > Because we dynamically check for the supported functionality this should > not cause a problem as we will fall-back to using "slow clocks" if they > aren't present. > > I agree it is time to change this default, but note that we need to > mention this in the release notes somewhere and, more importantly, we > need to ensure there is extensive testing here because we may be using > OS functionality that has hitherto been unused (or little used) and we > may encounter bugs in that functionality (bugs in the OS? surely not! ;-)) > > Further, as Dan mentions, this would then affect Java 6 updates and that > is not allowed (without additional 'paperwork') so we'd have to augment > Arguments::parse_each_vm_init_arg in arguments.cpp by adding to the end: > > if (JDK_Version::current().compare_major(6) <= 0 && > FLAG_IS_DEFAULT(UseLinuxPosixThreadCPUClocks)) { > FLAG_SET_DEFAULT(UseLinuxPosixThreadCPUClocks, false); > } > > this forces the flag to false in Java 6 unless it has been set explicitly. OK, I will make that change and test and resubmit my webrev accordingly. I'll also make sure it does the Right Thing with JDK 6. Andrew. From aph at redhat.com Thu Jul 8 03:30:19 2010 From: aph at redhat.com (Andrew Haley) Date: Thu, 08 Jul 2010 11:30:19 +0100 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C350629.2010608@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> Message-ID: <4C35A8BB.9050207@redhat.com> On 07/07/2010 11:56 PM, Daniel D. Daugherty wrote: > I concur that it is time to change the default value for this flag > so thumbs up on the webrev. > > My only worry is about HSX-19 deliveries into JDK-Updates. I'll > poke around and see if I can find a statement about the minimum > Linux that is supported. I don't think you have to worry about that: anything older than 2.6.9 should be fine. However, if you want me to test on a specific older release I'll do so. > The majority of the JVM/TI relevant tests are internal so those > won't do you much good. If you push this change to > > http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot > > a.k.a. RT_Baseline, I can keep an eye on the internal test results. OK, but I'll hold off doing until I get an ack from David Holmes. Andrew. From peter.brunet at oracle.com Thu Jul 8 07:12:03 2010 From: peter.brunet at oracle.com (Pete Brunet) Date: Thu, 08 Jul 2010 09:12:03 -0500 Subject: println output from within extension not seen Message-ID: <4C35DCB3.4010104@oracle.com> I am using a System.out.println in code running from lib/ext, but the text is not showing up on the console from which java.exe was launched. Is this a known issue and is there a workaround? Thanks, Pete From aph at redhat.com Thu Jul 8 09:49:47 2010 From: aph at redhat.com (Andrew Haley) Date: Thu, 08 Jul 2010 17:49:47 +0100 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C355572.4020609@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> <4C355572.4020609@oracle.com> Message-ID: <4C3601AB.7070807@redhat.com> On 07/08/2010 05:34 AM, David Holmes wrote: > Daniel D. Daugherty said the following on 07/08/10 09:03: >> The official configurations are listed here: >> >> http://java.sun.com/javase/6/webnotes/install/system-configurations.html >> >> but I don't know how to translate the various Linux versions >> into something that would help resolve this issue. > > The functionality should be supported in all 2.6.16+ kernels, and > potentially supported in 2.6.10+ with appropriate patches - but, like > Dan, I have no way to know what kernel versions the supported Linux > distros actually have. > > Because we dynamically check for the supported functionality this should > not cause a problem as we will fall-back to using "slow clocks" if they > aren't present. > > I agree it is time to change this default, but note that we need to > mention this in the release notes somewhere and, more importantly, we > need to ensure there is extensive testing here because we may be using > OS functionality that has hitherto been unused (or little used) and we > may encounter bugs in that functionality (bugs in the OS? surely not! ;-)) Good point. Please let me know if there is any more testing you'd like me to do on Red Hat Linux systems. > Further, as Dan mentions, this would then affect Java 6 updates and that > is not allowed (without additional 'paperwork') so we'd have to augment > Arguments::parse_each_vm_init_arg in arguments.cpp by adding to the end: > > if (JDK_Version::current().compare_major(6) <= 0 && > FLAG_IS_DEFAULT(UseLinuxPosixThreadCPUClocks)) { > FLAG_SET_DEFAULT(UseLinuxPosixThreadCPUClocks, false); > } > > this forces the flag to false in Java 6 unless it has been set explicitly. New webrev at http://cr.openjdk.java.net/~aph/6888526-2/ I enclosed the JDK version test in #ifdef LINUX because I don't think the UseLinuxPosixThreadCPUClocks flag exists in other systems. I've tested this patch on a RHEL 4 system with the 2.6.9 kernel, which works slowly, as expected, regardless of the setting of UseLinuxPosixThreadCPUClocks. I have made sure that on JDK 6 the flag defaults to false, but it can still be enabled with -XX:+UseLinuxPosixThreadCPUClocks. I also made sure that on JDK 7 UseLinuxPosixThreadCPUClocks defaults to true. Andrew. From daniel.daugherty at oracle.com Thu Jul 8 10:36:45 2010 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 08 Jul 2010 11:36:45 -0600 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C3601AB.7070807@redhat.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> <4C355572.4020609@oracle.com> <4C3601AB.7070807@redhat.com> Message-ID: <4C360CAD.3030502@oracle.com> On 7/8/2010 10:49 AM, Andrew Haley wrote: > New webrev at http://cr.openjdk.java.net/~aph/6888526-2/ > I enclosed the JDK version test in #ifdef LINUX because I don't think > the UseLinuxPosixThreadCPUClocks flag exists in other systems. > Thumbs up on the revised change. Dan > I've tested this patch on a RHEL 4 system with the 2.6.9 kernel, which > works slowly, as expected, regardless of the setting of > UseLinuxPosixThreadCPUClocks. I have made sure that on JDK 6 the flag > defaults to false, but it can still be enabled with > -XX:+UseLinuxPosixThreadCPUClocks. I also made sure that on JDK 7 > UseLinuxPosixThreadCPUClocks defaults to true. > > Andrew. > From David.Holmes at oracle.com Thu Jul 8 13:57:45 2010 From: David.Holmes at oracle.com (David Holmes) Date: Fri, 09 Jul 2010 06:57:45 +1000 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C3601AB.7070807@redhat.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> <4C355572.4020609@oracle.com> <4C3601AB.7070807@redhat.com> Message-ID: <4C363BC9.3080406@oracle.com> Andrew Haley said the following on 07/09/10 02:49: >> Further, as Dan mentions, this would then affect Java 6 updates and that >> is not allowed (without additional 'paperwork') so we'd have to augment >> Arguments::parse_each_vm_init_arg in arguments.cpp by adding to the end: >> >> if (JDK_Version::current().compare_major(6) <= 0 && >> FLAG_IS_DEFAULT(UseLinuxPosixThreadCPUClocks)) { >> FLAG_SET_DEFAULT(UseLinuxPosixThreadCPUClocks, false); >> } >> >> this forces the flag to false in Java 6 unless it has been set explicitly. > > New webrev at http://cr.openjdk.java.net/~aph/6888526-2/ > > I enclosed the JDK version test in #ifdef LINUX because I don't think > the UseLinuxPosixThreadCPUClocks flag exists in other systems. Right. Thumbs up from me too. Dan: do you know what test results we'd need to watch for any issues this change introduces (ie buggy CPU clocks) ? David ----- > I've tested this patch on a RHEL 4 system with the 2.6.9 kernel, which > works slowly, as expected, regardless of the setting of > UseLinuxPosixThreadCPUClocks. I have made sure that on JDK 6 the flag > defaults to false, but it can still be enabled with > -XX:+UseLinuxPosixThreadCPUClocks. I also made sure that on JDK 7 > UseLinuxPosixThreadCPUClocks defaults to true. > > Andrew. From daniel.daugherty at oracle.com Thu Jul 8 15:40:48 2010 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Thu, 08 Jul 2010 16:40:48 -0600 Subject: Request for review: 6888526 Linux getCurrentThreadCpuTime is drastically slower than Windows In-Reply-To: <4C363BC9.3080406@oracle.com> References: <4C31EBBA.3050103@redhat.com> <4C336E00.6000108@redhat.com> <4C336FF2.50109@sun.com> <4C34BA66.70002@redhat.com> <4C350629.2010608@oracle.com> <4C3507DF.2060107@oracle.com> <4C355572.4020609@oracle.com> <4C3601AB.7070807@redhat.com> <4C363BC9.3080406@oracle.com> Message-ID: <4C3653F0.6050308@oracle.com> On 7/8/2010 2:57 PM, David Holmes wrote: > Andrew Haley said the following on 07/09/10 02:49: >>> Further, as Dan mentions, this would then affect Java 6 updates and >>> that >>> is not allowed (without additional 'paperwork') so we'd have to augment >>> Arguments::parse_each_vm_init_arg in arguments.cpp by adding to the >>> end: >>> >>> if (JDK_Version::current().compare_major(6) <= 0 && >>> FLAG_IS_DEFAULT(UseLinuxPosixThreadCPUClocks)) { >>> FLAG_SET_DEFAULT(UseLinuxPosixThreadCPUClocks, false); >>> } >>> >>> this forces the flag to false in Java 6 unless it has been set >>> explicitly. >> >> New webrev at http://cr.openjdk.java.net/~aph/6888526-2/ >> >> I enclosed the JDK version test in #ifdef LINUX because I don't think >> the UseLinuxPosixThreadCPUClocks flag exists in other systems. > > Right. Thumbs up from me too. > > Dan: do you know what test results we'd need to watch for any issues > this change introduces (ie buggy CPU clocks) ? Not off the top of my head... Dan From yamauchi at google.com Fri Jul 9 14:14:03 2010 From: yamauchi at google.com (Hiroshi Yamauchi) Date: Fri, 9 Jul 2010 14:14:03 -0700 Subject: SIGSEGV on GCTaskThread in jdk 6u18 In-Reply-To: <4C322D4B.20407@oracle.com> References: <9555002.581264065388011.JavaMail.root@zs.crcpraha> <4B58788E.2060403@sun.com> <4C322D4B.20407@oracle.com> Message-ID: Ramki, Thanks for your advice. > If you have to use an older version (i.e. hs16 etc.), > i'd suggest using the workaround below, and of > running with heap verification enabled to see > what may be causing the issue. Yes, missing card-marks > (generated code, interpreter, or GC) or bad oop-maps > for example can also cause such crashes. Heap verification > would help narrow that down some for further debugging > to proceed. As stated, -ReduceInitialCardMarks didn't make it go away. I haven't tried +UseSerialGC, but would try it as a last resort because the performance difference could be significant. Also, the heap verification thing requires a fastdebug build, I suppose, which isn't sometimes an option in a production environment. > > If you have a support contract, feel free to file a > detailed bug and/or escalate. At that time please > include a test case if you have one. As far as I know, we don't have a support contract. > > oh, and please do check if you can reproduce with the > most recent bits... That's a good idea, except that trying recent bits isn't straightforward as it can be. I'll try. Thanks a lot. I may come back to this issue if none of the workarounds work. I kind of hoped that we forgot to incorporate certain patches that would fix this problem. But it sounds like that's not the case. Hiroshi > On 07/02/10 11:04, Hiroshi Yamauchi wrote: >> >> Hi folks, >> >> I dig up this old thread. I thought this issue has been resolved. But >> I've been still seeing a similar crash in the UseParallelGC collector >> with a version of HS16 (and HS11, too.) >> >> Here's the stack trace at the crash point: >> >> PSPromotionManager::copy_to_survivor_space(oopDesc*, bool) >> PSPromotionManager::drain_stacks_depth(bool) >> CardTableExtension::scavenge_contents_parallel(ObjectStartArray*, >> MutableSpace*, HeapWord*, PSPromotionManager*, unsigned int) >> OldToYoungRootsTask::do_it(GCTaskManager*, unsigned int) >> GCTaskThread::run() >> java_start(Thread*) >> >> which is similar to the one from >> http://bugs.sun.com/view_bug.do?bug_id=6896647 . This bug is marked >> 'fix delivered'. We made sure we have already had the patch >> http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7b0e9cba0307 >> incorporated in our build. Also, we tried the >> -XX:-ReduceInitialCardMarks flag. But the crash keeps coming back >> (though the flag seems to reduce the frequency of the crash). This is >> on Linux/x86_32. >> >> A potentially related bug might be >> http://bugs.sun.com/view_bug.do?bug_id=6850723 >> >> Is there some other patch that we should use or some other workarounds >> or diagnosis we can try? >> >> Thanks, >> Hiroshi >> >> >> On Thu, Jan 21, 2010 at 8:53 AM, Y. Srinivas Ramakrishna >> wrote: >>> >>> Janda Martin wrote: >>>> >>>> Thank you for fast response. I supposed that I use Serial GC so this >>>> problem is different. >>> >>> Unless you specify it explicitly via -XX:+UseSerialGC, the GC ergonomics >>> might pick a different collector, and in this case it picked parallel gc >>> because yr machine was considered a "server class" machine (or some such) >>> because you had 8 cores on yr box. >>> >>>> ?I will try ReduceInitialCardMarks >>> >>> Yes either that, or explicitly specify serial gc. >>> >>> In your case, since you have 8 cores, you should use -ReduceInitialCardMarks >>> and continue using the parallel collector you are getting by default. >>> Indeed you might want to specify -XX:+UseParallelOldGC which i think you >>> aren't getting by default (i wonder why; i thought that was the parallel >>> collector default now, but haven't checked recently). >>> >>> -- ramki >>> >>>> ?Martin >>>> >>>> ----- Original Message ----- >>>> From: "Vladimir Kozlov" >>>> To: hotspot-dev at openjdk.java.net >>>> Sent: Thursday, January 21, 2010 10:03:01 AM GMT +01:00 Amsterdam / Berlin >>>> / Bern / Rome / Stockholm / Vienna >>>> Subject: Re: SIGSEGV on GCTaskThread in jdk 6u18 >>>> >>>> Try -XX:-ReduceInitialCardMarks >>>> >>>> Please, read release notes for 6u18. >>>> >>>> Vladimir >>>> >>>> On 1/21/10 12:24 AM, Andreas Kohn wrote: >>>>> >>>>> On Thu, 2010-01-21 at 08:45 +0100, Janda Martin wrote: >>>>>> >>>>>> Please can you help me. I experienced several crashes on GCTaskThread in >>>>>> latest Java6u18 when running IntelliJ IDEA (not only). 64bit linux, 32bit >>>>>> jvm, 4 core processor >>>>>> ?I create new bug report with Review ID: 1699960. >>>>>> >>>>>> ?Is there any -XX options to help diagnose this problem. It looks like >>>>>> regression from 6u17 (maybe) or 6u16 (sure). >>>>> >>>>> We observed a very similar 6u18 crash (once so far), 64bit linux, 64bit >>>>> jvm. >>>>> >>>>> I have attached our hs_err log as well. >>>>> >>>>> Regards, >>>>> -- >>>>> Andreas >>>>> >>> From johnnylj98 at gmail.com Sat Jul 10 18:48:17 2010 From: johnnylj98 at gmail.com (=?GB2312?B?wO69oQ==?=) Date: Sun, 11 Jul 2010 09:48:17 +0800 Subject: [JVMTI]Run error with SetFieldModificationWatch on every field in SPECJBB2005 Message-ID: Hi all, I've run OpenJDK1.6 on Fedora10 with a JVMTI which watch every field access. The field modification callback method simply return and do nothing. But OpenJDK randomly throw a bug like this: *Start User Threads started user thread for Warehouse 1 started user thread for Warehouse 2 started user thread for Warehouse 3 Timing Measurement began Sun Jul 11 09:10:48 CST 2010 for 4 minutes # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00f0ec91, pid=10295, tid=5340048 # # Java VM: OpenJDK Server VM (1.6.0_0-b12 mixed mode linux-x86) # Distribution: Custom build (Mon Oct 27 16:16:00 EDT 2008) # Problematic frame: # V [libjvm.so+0x471c91] # # An error report file with more information is saved as: # /media/_home/lijian/specjbb2005/dist/hs_err_pid10295.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # **http://java.sun.com/webapps/bugreport/crash.jsp* *# Aborted * Any one can help me with this internal bug? I'll be very appreciate! * * Here's my JVMTI source code: *static void JNICALL FieldModifyCallBack(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field, char signature_type, jvalue new_value)* *{* * //do nothing* *}* *static void JNICALL ClassPrepareCallback(jvmtiEnv *jvmti_env, JNIEnv* jni_env, jthread thread, jclass klass) { jint field_num; jfieldID * fieldIDs; jvmtiError error = jvmti_env->GetClassFields(klass, &field_num, &fieldIDs);* * if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!%d\n", error); for(int i=0; i< field_num;i++) {* * error = jvmti_env->SetFieldModificationWatch(klass,fieldIDs[i]); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n"); } error = jvmti_env->Deallocate((unsigned char*)fieldIDs); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n");* *}* *JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) { static jvmtiEnv *jvmti = NULL; static jvmtiCapabilities capa; jvmtiError error; jint ret = (jvm)->GetEnv((void **)(&jvmti), JVMTI_VERSION_1_0); (void)memset(&capa, 0, sizeof(jvmtiCapabilities)); capa.can_generate_field_modification_events = 1; error = jvmti->AddCapabilities(&capa); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n");* * error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, (jthread)NULL); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n"); error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_FIELD_MODIFICATION, NULL); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n"); jvmtiEventCallbacks callbacks; (void)memset(&callbacks, 0, sizeof(callbacks));* * callbacks.ClassPrepare= &ClassPrepareCallback; callbacks.FieldModification = &FieldModifyCallBack; error = jvmti->SetEventCallbacks(&callbacks,(jint)sizeof(callbacks)); if(error != JVMTI_ERROR_NONE) fprintf(stderr, "!!!\n"); return JNI_OK; } * *JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *jvm) {* * return; }* Here's my openJDK version: *[root at localhost dist]# java -versionjava version "1.6.0_0" IcedTea6 1.3.1 (6b12-Fedora-10) Runtime Environment (build 1.6.0_0-b12) OpenJDK Server VM (build 1.6.0_0-b12, mixed mode)* ** The attachment is *hs_err_pid10295.log* Thanks a lot! -- Li jian China -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100711/425110ba/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: hs_err_pid10295.log Type: application/octet-stream Size: 15299 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100711/425110ba/attachment-0001.obj From daniel.daugherty at oracle.com Mon Jul 12 10:21:06 2010 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Mon, 12 Jul 2010 11:21:06 -0600 Subject: [JVMTI]Run error with SetFieldModificationWatch on every field in SPECJBB2005 In-Reply-To: References: Message-ID: <4C3B4F02.6020008@oracle.com> Li jian, I'm redirecting this e-mail thread to serviceability-dev at ... as this is a JVM/TI question. hotspot-dev at ... is named by Bcc and will drop off after this e-mail... This crash appears to be using a very old version of OpenJDK6. The OpenJDK6 project is currently at B21 and this crash is from B12 (Mon Oct 27 16:16:00 EDT 2008). Can you please retry your experiment with something more recent? Dan On 7/10/2010 7:48 PM, ?? wrote: > Hi all, > I've run OpenJDK1.6 on Fedora10 with a JVMTI which watch every > field access. The field modification callback method simply return and > do nothing. But OpenJDK randomly throw a bug like this: > > /Start User Threads > started user thread for Warehouse 1 > started user thread for Warehouse 2 > started user thread for Warehouse 3 > Timing Measurement began Sun Jul 11 09:10:48 CST 2010 for 4 minutes > # > # An unexpected error has been detected by Java Runtime Environment: > # > # SIGSEGV (0xb) at pc=0x00f0ec91, pid=10295, tid=5340048 > # > # Java VM: OpenJDK Server VM (1.6.0_0-b12 mixed mode linux-x86) > # Distribution: Custom build (Mon Oct 27 16:16:00 EDT 2008) > # Problematic frame: > # V [libjvm.so+0x471c91] > # > # An error report file with more information is saved as: > # /media/_home/lijian/specjbb2005/dist/hs_err_pid10295.log > # > # If you would like to submit a bug report, please include > # instructions how to reproduce the bug and visit: > # //http://java.sun.com/webapps/bugreport/crash.jsp/ > /# > Aborted > / > Any one can help me with this internal bug? I'll be very appreciate! > / / > > Here's my JVMTI source code: > > /static void JNICALL > FieldModifyCallBack(jvmtiEnv *jvmti_env, > JNIEnv* jni_env, > jthread thread, > jmethodID method, > jlocation location, > jclass field_klass, > jobject object, > jfieldID field, > char signature_type, > jvalue new_value)/ > /{/ > / //do nothing/ > /}/ > > /static void JNICALL > ClassPrepareCallback(jvmtiEnv *jvmti_env, > JNIEnv* jni_env, > jthread thread, > jclass klass) > { > jint field_num; > jfieldID * fieldIDs; > jvmtiError error = jvmti_env->GetClassFields(klass, > &field_num, &fieldIDs);/ > / if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!%d\n", error); > for(int i=0; i< field_num;i++) > {/ > / error = > jvmti_env->SetFieldModificationWatch(klass,fieldIDs[i]); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > } > error = jvmti_env->Deallocate((unsigned char*)fieldIDs); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n");/ > /}/ > > /JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void > *reserved) > { > static jvmtiEnv *jvmti = NULL; > static jvmtiCapabilities capa; > jvmtiError error; > > jint ret = (jvm)->GetEnv((void **)(&jvmti), JVMTI_VERSION_1_0); > (void)memset(&capa, 0, sizeof(jvmtiCapabilities)); > capa.can_generate_field_modification_events = 1; > error = jvmti->AddCapabilities(&capa); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n");/ > / error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, > JVMTI_EVENT_CLASS_PREPARE, (jthread)NULL); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, > JVMTI_EVENT_FIELD_MODIFICATION, NULL); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > > jvmtiEventCallbacks callbacks; > (void)memset(&callbacks, 0, sizeof(callbacks));/ > / callbacks.ClassPrepare= &ClassPrepareCallback; > callbacks.FieldModification = &FieldModifyCallBack; > error = > jvmti->SetEventCallbacks(&callbacks,(jint)sizeof(callbacks)); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > > return JNI_OK; > } > / > /JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *jvm) > {/ > / return; > }/ > > Here's my openJDK version: > > /[root at localhost dist]# java -versionjava version "1.6.0_0" > IcedTea6 1.3.1 (6b12-Fedora-10) Runtime Environment (build 1.6.0_0-b12) > OpenJDK Server VM (build 1.6.0_0-b12, mixed mode)/ > // > The attachment is /hs_err_pid10295.log/ > > > Thanks a lot! > -- > Li jian > China From y.s.ramakrishna at oracle.com Mon Jul 12 21:01:45 2010 From: y.s.ramakrishna at oracle.com (y.s.ramakrishna at oracle.com) Date: Tue, 13 Jul 2010 04:01:45 +0000 Subject: hg: jdk7/hotspot/hotspot: 2 new changesets Message-ID: <20100713040156.D178D47946@hg.openjdk.java.net> Changeset: b2a00dd3117c Author: jcoomes Date: 2010-07-01 21:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b2a00dd3117c 6957084: simplify TaskQueue overflow handling Reviewed-by: ysr, jmasa ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 9ee05c8ab82f Author: ysr Date: 2010-07-12 12:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/9ee05c8ab82f Merge From ew at omikron.net Tue Jul 13 04:21:24 2010 From: ew at omikron.net (Eduard Wirch) Date: Tue, 13 Jul 2010 11:21:24 +0000 Subject: synchronize section does not (always) block! Message-ID: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> Hi I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. The class (MyClass) containing the relevant code looks similar to this: ------------------------------------------------------------------ private static int[] ? ?myLock ?= new int[0]; protected static int methodA(final long handle, final byte[] sort) { ? ? synchronized (myLock) { ? ? ? ? return xsMethodA(handle, sort); ? ? } } protected static int methodB(final long handle) { ? ? synchronized (myLock) { ? ? ? ? return xsMethodB(handle); ? ? } } ------------------------------------------------------------------ I created a thread dump of my application running the above class and was very surprised as I saw this: ------------------------------------------------------------------ "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] ? ?java.lang.Thread.State: BLOCKED (on object monitor) ? ? at com.MyClass.methodA(MyClass.java:750) ? ? - locked <0x00007fd8a6b8c790> (a [I) ? ? at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) ? ? ... "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] ? ?java.lang.Thread.State: BLOCKED (on object monitor) ? ? at com.MyClass.methodB(MyClass.java:991) ? ? - locked <0x00007fd8a6b8c790> (a [I) ? ? at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) ? ? ... "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] java.lang.Thread.State: BLOCKED (on object monitor) at com.MyClass.methodC(MyClass.java:750) - waiting to lock <0x00007fd8a6b8c790> (a [I) at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) ... (43 more threads waiting for the lock) ------------------------------------------------------------------ (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. The Java Runtime Specification says this about the synchronized keyword: ------------------------------------------------------------------ A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] ------------------------------------------------------------------ So how is this even possible? Regards, Eduard From David.Holmes at oracle.com Tue Jul 13 04:39:48 2010 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 13 Jul 2010 21:39:48 +1000 Subject: synchronize section does not (always) block! In-Reply-To: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> References: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> Message-ID: <4C3C5084.5080107@oracle.com> Eduard, Both threads are blocked trying to acquire the lock, neither has acquired it. David Holmes On 13/07/2010 9:21 PM, Eduard Wirch wrote: > Hi > > > I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. > > The class (MyClass) containing the relevant code looks similar to this: > > ------------------------------------------------------------------ > private static int[] myLock = new int[0]; > > protected static int methodA(final long handle, final byte[] sort) { > synchronized (myLock) { > return xsMethodA(handle, sort); > } > } > > protected static int methodB(final long handle) { > synchronized (myLock) { > return xsMethodB(handle); > } > } > ------------------------------------------------------------------ > > > > I created a thread dump of my application running the above class and was very surprised as I saw this: > > ------------------------------------------------------------------ > "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodA(MyClass.java:750) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) > ... > > "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodB(MyClass.java:991) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) > ... > > "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodC(MyClass.java:750) > - waiting to lock<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) > ... > (43 more threads waiting for the lock) > ------------------------------------------------------------------ > > (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) > > > It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. > > The Java Runtime Specification says this about the synchronized keyword: > ------------------------------------------------------------------ > A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] > ------------------------------------------------------------------ > > So how is this even possible? > > > Regards, > Eduard > From David.Holmes at oracle.com Tue Jul 13 04:41:36 2010 From: David.Holmes at oracle.com (David Holmes) Date: Tue, 13 Jul 2010 21:41:36 +1000 Subject: synchronize section does not (always) block! In-Reply-To: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> References: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> Message-ID: <4C3C50F0.3010102@oracle.com> Sorry mis-read the details. Which version of the VM is this? There was a bug where the thread dump showed the wrong locked monitor. David Holmes On 13/07/2010 9:21 PM, Eduard Wirch wrote: > Hi > > > I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. > > The class (MyClass) containing the relevant code looks similar to this: > > ------------------------------------------------------------------ > private static int[] myLock = new int[0]; > > protected static int methodA(final long handle, final byte[] sort) { > synchronized (myLock) { > return xsMethodA(handle, sort); > } > } > > protected static int methodB(final long handle) { > synchronized (myLock) { > return xsMethodB(handle); > } > } > ------------------------------------------------------------------ > > > > I created a thread dump of my application running the above class and was very surprised as I saw this: > > ------------------------------------------------------------------ > "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodA(MyClass.java:750) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) > ... > > "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodB(MyClass.java:991) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) > ... > > "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodC(MyClass.java:750) > - waiting to lock<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) > ... > (43 more threads waiting for the lock) > ------------------------------------------------------------------ > > (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) > > > It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. > > The Java Runtime Specification says this about the synchronized keyword: > ------------------------------------------------------------------ > A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] > ------------------------------------------------------------------ > > So how is this even possible? > > > Regards, > Eduard > From ew at omikron.net Tue Jul 13 05:03:40 2010 From: ew at omikron.net (Eduard Wirch) Date: Tue, 13 Jul 2010 12:03:40 +0000 Subject: synchronize section does not (always) block! In-Reply-To: <4C3C50F0.3010102@oracle.com> References: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> <4C3C50F0.3010102@oracle.com> Message-ID: <0F68AE1E087B7F4885F0ADCD47C4C89D13D0847A@Pegasus.omikron.net> Hi David java version "1.6.0_19" Java(TM) SE Runtime Environment (build 1.6.0_19-b04) Java HotSpot(TM) 64-Bit Server VM (build 16.2-b04, mixed mode) Regards, Eduard -----Urspr?ngliche Nachricht----- Von: hotspot-dev-bounces at openjdk.java.net [mailto:hotspot-dev-bounces at openjdk.java.net] Im Auftrag von David Holmes Gesendet: Dienstag, 13. Juli 2010 13:42 An: hotspot-dev at openjdk.java.net Betreff: Re: synchronize section does not (always) block! Sorry mis-read the details. Which version of the VM is this? There was a bug where the thread dump showed the wrong locked monitor. David Holmes On 13/07/2010 9:21 PM, Eduard Wirch wrote: > Hi > > > I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. > > The class (MyClass) containing the relevant code looks similar to this: > > ------------------------------------------------------------------ > private static int[] myLock = new int[0]; > > protected static int methodA(final long handle, final byte[] sort) { > synchronized (myLock) { > return xsMethodA(handle, sort); > } > } > > protected static int methodB(final long handle) { > synchronized (myLock) { > return xsMethodB(handle); > } > } > ------------------------------------------------------------------ > > > > I created a thread dump of my application running the above class and was very surprised as I saw this: > > ------------------------------------------------------------------ > "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodA(MyClass.java:750) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) > ... > > "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodB(MyClass.java:991) > - locked<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) > ... > > "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] > java.lang.Thread.State: BLOCKED (on object monitor) > at com.MyClass.methodC(MyClass.java:750) > - waiting to lock<0x00007fd8a6b8c790> (a [I) > at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) > ... > (43 more threads waiting for the lock) > ------------------------------------------------------------------ > > (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) > > > It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. > > The Java Runtime Specification says this about the synchronized keyword: > ------------------------------------------------------------------ > A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] > ------------------------------------------------------------------ > > So how is this even possible? > > > Regards, > Eduard > From Christopher.Phillips at oracle.com Tue Jul 13 05:33:05 2010 From: Christopher.Phillips at oracle.com (Christopher Phillips) Date: Tue, 13 Jul 2010 08:33:05 -0400 Subject: synchronize section does not (always) block! In-Reply-To: <0F68AE1E087B7F4885F0ADCD47C4C89D13D0847A@Pegasus.omikron.net> References: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> <4C3C50F0.3010102@oracle.com> <0F68AE1E087B7F4885F0ADCD47C4C89D13D0847A@Pegasus.omikron.net> Message-ID: <4C3C5D01.90506@Oracle.Com> Hi Eduard I think its the thread dump that is misleading. If you really think that the 2 are in the lock simultaneously you should probably get a gcore (which is externally consistent). The state you see "waiting for monitor entry" is actually MONITOR_WAIT which can represent the following code before actual acquisition of a hot lock : (also see OSThreadContendState in osThread.hpp) called from: src/share/vm/runtime/synchronizer.cpp 3413 OSThreadContendState osts(Self->osthread()); 3414 ThreadBlockInVM tbivm(jt); 3415 3416 Self->set_current_pending_monitor(this); 3417 3418 // TODO-FIXME: change the following for(;;) loop to straight-line code. 3419 for (;;) { 3420 jt->set_suspend_equivalent(); 3421 // cleared by handle_special_suspend_equivalent_condition() 3422 // or java_suspend_self() 3423 3424 EnterI (THREAD) ; 3425 3426 if (!ExitSuspendEquivalent(jt)) break ; 3427 3428 // 3429 // We have acquired the contended monitor, but while we were 3430 // waiting another thread suspended us. We don't want to enter 3431 // the monitor while suspended because that would surprise the 3432 // thread that suspended us. Chris On 13/07/10 08:03 AM, Eduard Wirch wrote: > Hi David > > > java version "1.6.0_19" > Java(TM) SE Runtime Environment (build 1.6.0_19-b04) > Java HotSpot(TM) 64-Bit Server VM (build 16.2-b04, mixed mode) > > > Regards, > Eduard > > -----Urspr?ngliche Nachricht----- > Von: hotspot-dev-bounces at openjdk.java.net [mailto:hotspot-dev-bounces at openjdk.java.net] Im Auftrag von David Holmes > Gesendet: Dienstag, 13. Juli 2010 13:42 > An: hotspot-dev at openjdk.java.net > Betreff: Re: synchronize section does not (always) block! > > Sorry mis-read the details. Which version of the VM is this? There was a bug > where the thread dump showed the wrong locked monitor. > > David Holmes > > On 13/07/2010 9:21 PM, Eduard Wirch wrote: >> Hi >> >> >> I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. >> >> The class (MyClass) containing the relevant code looks similar to this: >> >> ------------------------------------------------------------------ >> private static int[] myLock = new int[0]; >> >> protected static int methodA(final long handle, final byte[] sort) { >> synchronized (myLock) { >> return xsMethodA(handle, sort); >> } >> } >> >> protected static int methodB(final long handle) { >> synchronized (myLock) { >> return xsMethodB(handle); >> } >> } >> ------------------------------------------------------------------ >> >> >> >> I created a thread dump of my application running the above class and was very surprised as I saw this: >> >> ------------------------------------------------------------------ >> "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodA(MyClass.java:750) >> - locked<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) >> ... >> >> "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodB(MyClass.java:991) >> - locked<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) >> ... >> >> "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodC(MyClass.java:750) >> - waiting to lock<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) >> ... >> (43 more threads waiting for the lock) >> ------------------------------------------------------------------ >> >> (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) >> >> >> It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. >> >> The Java Runtime Specification says this about the synchronized keyword: >> ------------------------------------------------------------------ >> A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] >> ------------------------------------------------------------------ >> >> So how is this even possible? >> >> >> Regards, >> Eduard >> -- -- -- Woda: "Java: write once, debug anywhere" Hong Zhang http://thehenrys.ca | Chris Phillips - Oracle Java Sustaining JVM Engineer, | | mailto:Christopher.Phillips at Oracle.Com (416)483-3768 | | WhoZat? | | http://LGonQn.Org/www/Chris.Phillips cell: (416)505-3610 | "EPIC stands for Expects Perfectly Intuitive Compilers" P. Bannon http://www.hazmatmodine.com NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. "blah blah blah - Ginger!" -- From Artem.Ananiev at Sun.COM Tue Jul 13 04:56:19 2010 From: Artem.Ananiev at Sun.COM (Artem Ananiev) Date: Tue, 13 Jul 2010 15:56:19 +0400 Subject: VM hangs in VS2008 build Message-ID: <4C3C5463.40702@sun.com> Hi, AWT & HotSpot teams, I've just experienced a problem with a simple test - see the attached file. The test shows a file dialog and then hangs when the dialog is being disposed. I tried to get a stack trace... and failed, both with jstack and ctrl+break from the console. When I attached to the process with Visual Studio, I noticed several suspicious threads: 1. One of the threads with AWT code waits for safe_Malloc() to return, which in turn waits for JVM code in Monitor::set_owner_implementation(): ntdll.dll!_ZwWaitForSingleObject at 12() ntdll.dll!_ZwWaitForSingleObject at 12() jvm.dll!Monitor::set_owner_implementation(Thread * new_owner=0x00000000) Line 1307 ntdll.dll!_RtlEnterCriticalSection at 4() ntdll.dll!@RtlpAllocateHeap at 24() ntdll.dll!_RtlAllocateHeap at 12() msvcr90.dll!75293db8() [Frames below may be incorrect and/or missing, no symbols loaded for msvcr90.dll] awt.dll!safe_Malloc(unsigned int size=6) Line 85 awt.dll!CreateLocaleObject(JNIEnv_ * env=0x04601d34, const char * name=0x002a1e58) Line 539 awt.dll!Java_sun_awt_windows_WInputMethod_getNativeLocale(JNIEnv_ * env=0x04601d34, _jclass * cls=0x065bf728) Line 299 2. Another thread is in os::free(): ntdll.dll!_ZwWaitForSingleObject at 12() ntdll.dll!_ZwWaitForSingleObject at 12() KernelBase.dll!_GetProcAddress at 8() ntdll.dll!_RtlEnterCriticalSection at 4() ntdll.dll!@RtlpFreeHeap at 16() ntdll.dll!_RtlFreeHeap at 12() kernel32.dll!_HeapFree at 12() msvcr90.dll!75293c1b() [Frames below may be incorrect and/or missing, no symbols loaded for msvcr90.dll] jvm.dll!os::free(void * memblock=0x01f64d50) Line 602 jvm.dll!ChunkPool::free_all_but(unsigned int n=5) Line 152 jvm.dll!ChunkPoolCleaner::task() Line 195 jvm.dll!PeriodicTask::real_time_tick(unsigned int delay_time=50) Line 60 jvm.dll!WatcherThread::run() Line 1086 jvm.dll!java_start(Thread * thread=0x01f5c800) Line 377 3. One more thread waiting for a memory-related operation - I suspect it's the thread that should provide the stack trace: ntdll.dll!_ZwWaitForSingleObject at 12() ntdll.dll!_ZwWaitForSingleObject at 12() jvm.dll!InterfaceSupport::serialize_memory(JavaThread * thread=0x00000148) Line 37 kernel32.dll!_WaitForSingleObjectExImplementation at 12() kernel32.dll!_WaitForSingleObject at 8() jvm.dll!Win32AttachListener::dequeue() Line 233 jvm.dll!AttachListener::dequeue() Line 353 jvm.dll!attach_listener_thread_entry(JavaThread * thread=0x01f4d800, Thread * __the_thread__=0x01f4d800) Line 376 jvm.dll!JavaThread::thread_main_inner() Line 1402 jvm.dll!java_start(Thread * thread=0x01f4d800) Line 377 Any ideas about what's going? The hang only occurs if I build JDK and HotSpot using VS2008 - exactly the same JDK7-b99 promoted build (which is built with VS2003) works fine. If I change the file dialog with a regular AWT modal dialog, the problem goes away as well. Thanks, Artem -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Test.java Url: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100713/0cc1bb04/attachment.ksh From christian.thalinger at oracle.com Tue Jul 13 10:36:08 2010 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 13 Jul 2010 19:36:08 +0200 Subject: println output from within extension not seen In-Reply-To: <4C35DCB3.4010104@oracle.com> References: <4C35DCB3.4010104@oracle.com> Message-ID: <1279042568.23674.10.camel@macbook> On Thu, 2010-07-08 at 09:12 -0500, Pete Brunet wrote: > I am using a System.out.println in code running from lib/ext, but the > text is not showing up on the console from which java.exe was launched. > Is this a known issue and is there a workaround? Thanks, Pete I can't think of a reason why it wouldn't work. Are you doing anything special? -- Christian From peter.brunet at oracle.com Tue Jul 13 13:31:53 2010 From: peter.brunet at oracle.com (Pete Brunet) Date: Tue, 13 Jul 2010 15:31:53 -0500 Subject: println output from within extension not seen In-Reply-To: <1279042568.23674.10.camel@macbook> References: <4C35DCB3.4010104@oracle.com> <1279042568.23674.10.camel@macbook> Message-ID: <4C3CCD39.8060708@oracle.com> Hi Christian, It must have been too early in the startup. I now use GUIInitializedListener.guiInitialized to wait for the GUI subsystem to come up and then TopLevelWindowListener.topLevelWindowCreated to wait for the first window and now I see the output. (I might only need guiInitialized, but for what I'm logging I also need to wait for the first window - my code runs in lib\ext.) I asked a few people/lists about this so ccing those for awareness that my logging is now working. Pete === Christian Thalinger wrote: > On Thu, 2010-07-08 at 09:12 -0500, Pete Brunet wrote: > >> I am using a System.out.println in code running from lib/ext, but the >> text is not showing up on the console from which java.exe was launched. >> Is this a known issue and is there a workaround? Thanks, Pete >> > > I can't think of a reason why it wouldn't work. Are you doing anything > special? > > -- Christian > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100713/146badba/attachment.html From David.Holmes at oracle.com Tue Jul 13 14:46:33 2010 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 14 Jul 2010 07:46:33 +1000 Subject: VM hangs in VS2008 build In-Reply-To: <4C3C5463.40702@sun.com> References: <4C3C5463.40702@sun.com> Message-ID: <4C3CDEB9.1040605@oracle.com> Hi Artem, I would guess this is a deadlock with the process lock. But that first stack trace is very suspicious as you can't jump into the JVM from the OS critical section code (or shouldn't!). The attach-listener thread stack looks wrong as well - again jumping to VM code from OS code. No ideas beyond those observations though - sorry. David On 13/07/2010 9:56 PM, Artem Ananiev wrote: > Hi, AWT & HotSpot teams, > > I've just experienced a problem with a simple test - see the attached > file. The test shows a file dialog and then hangs when the dialog is > being disposed. I tried to get a stack trace... and failed, both with > jstack and ctrl+break from the console. > > When I attached to the process with Visual Studio, I noticed several > suspicious threads: > > 1. One of the threads with AWT code waits for safe_Malloc() to return, > which in turn waits for JVM code in Monitor::set_owner_implementation(): > > ntdll.dll!_ZwWaitForSingleObject at 12() > ntdll.dll!_ZwWaitForSingleObject at 12() > jvm.dll!Monitor::set_owner_implementation(Thread * new_owner=0x00000000) > Line 1307 > ntdll.dll!_RtlEnterCriticalSection at 4() > ntdll.dll!@RtlpAllocateHeap at 24() > ntdll.dll!_RtlAllocateHeap at 12() > msvcr90.dll!75293db8() > [Frames below may be incorrect and/or missing, no symbols loaded for > msvcr90.dll] > awt.dll!safe_Malloc(unsigned int size=6) Line 85 > awt.dll!CreateLocaleObject(JNIEnv_ * env=0x04601d34, const char * > name=0x002a1e58) Line 539 > awt.dll!Java_sun_awt_windows_WInputMethod_getNativeLocale(JNIEnv_ * > env=0x04601d34, _jclass * cls=0x065bf728) Line 299 > > > 2. Another thread is in os::free(): > > ntdll.dll!_ZwWaitForSingleObject at 12() > ntdll.dll!_ZwWaitForSingleObject at 12() > KernelBase.dll!_GetProcAddress at 8() > ntdll.dll!_RtlEnterCriticalSection at 4() > ntdll.dll!@RtlpFreeHeap at 16() > ntdll.dll!_RtlFreeHeap at 12() > kernel32.dll!_HeapFree at 12() > msvcr90.dll!75293c1b() > [Frames below may be incorrect and/or missing, no symbols loaded for > msvcr90.dll] > jvm.dll!os::free(void * memblock=0x01f64d50) Line 602 > jvm.dll!ChunkPool::free_all_but(unsigned int n=5) Line 152 > jvm.dll!ChunkPoolCleaner::task() Line 195 > jvm.dll!PeriodicTask::real_time_tick(unsigned int delay_time=50) Line 60 > jvm.dll!WatcherThread::run() Line 1086 > jvm.dll!java_start(Thread * thread=0x01f5c800) Line 377 > > > 3. One more thread waiting for a memory-related operation - I suspect > it's the thread that should provide the stack trace: > > ntdll.dll!_ZwWaitForSingleObject at 12() > ntdll.dll!_ZwWaitForSingleObject at 12() > jvm.dll!InterfaceSupport::serialize_memory(JavaThread * > thread=0x00000148) Line 37 > kernel32.dll!_WaitForSingleObjectExImplementation at 12() > kernel32.dll!_WaitForSingleObject at 8() > jvm.dll!Win32AttachListener::dequeue() Line 233 > jvm.dll!AttachListener::dequeue() Line 353 > jvm.dll!attach_listener_thread_entry(JavaThread * thread=0x01f4d800, > Thread * __the_thread__=0x01f4d800) Line 376 > jvm.dll!JavaThread::thread_main_inner() Line 1402 > jvm.dll!java_start(Thread * thread=0x01f4d800) Line 377 > > > Any ideas about what's going? The hang only occurs if I build JDK and > HotSpot using VS2008 - exactly the same JDK7-b99 promoted build (which > is built with VS2003) works fine. If I change the file dialog with a > regular AWT modal dialog, the problem goes away as well. > > Thanks, > > Artem From David.Holmes at oracle.com Tue Jul 13 22:45:29 2010 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 14 Jul 2010 15:45:29 +1000 Subject: synchronize section does not (always) block! In-Reply-To: <0F68AE1E087B7F4885F0ADCD47C4C89D13D0847A@Pegasus.omikron.net> References: <0F68AE1E087B7F4885F0ADCD47C4C89D13D08419@Pegasus.omikron.net> <4C3C50F0.3010102@oracle.com> <0F68AE1E087B7F4885F0ADCD47C4C89D13D0847A@Pegasus.omikron.net> Message-ID: <4C3D4EF9.8020008@oracle.com> Eduard Wirch said the following on 07/13/10 22:03: > java version "1.6.0_19" > Java(TM) SE Runtime Environment (build 1.6.0_19-b04) > Java HotSpot(TM) 64-Bit Server VM (build 16.2-b04, mixed mode) Okay that's recent enough not to have the issue I was thinking of, and in any case that was a different issue (incorrectly reporting waiting-to-lock when already locked). Do you have a complete test case that shows this? Does the system hang (else how did you happen to grab a thread dump at just the right moment to see this)? What does the code in SomeOtherClass look like? It is that code which appears to have locked the object in dispute, and both threads are then blocked trying to acquire different monitors. Like Chris I tend to suspect the error is in the thread dump rather than the actual synchronization code, but I can't see anything obvious where it might appear that two threads claim to own the same monitor (one of the threads will have just released it). That said finding the code where the owned monitors is set/cleared in the frame is non-trivial for a non-compiler guy like myself :) David Holmes > > Regards, > Eduard > > -----Urspr?ngliche Nachricht----- > Von: hotspot-dev-bounces at openjdk.java.net [mailto:hotspot-dev-bounces at openjdk.java.net] Im Auftrag von David Holmes > Gesendet: Dienstag, 13. Juli 2010 13:42 > An: hotspot-dev at openjdk.java.net > Betreff: Re: synchronize section does not (always) block! > > Sorry mis-read the details. Which version of the VM is this? There was a bug > where the thread dump showed the wrong locked monitor. > > David Holmes > > On 13/07/2010 9:21 PM, Eduard Wirch wrote: >> Hi >> >> >> I've noticed something very strange yesterday. It seems that in app two threads are entering two synchronized blocks locking on the same object at the same time. >> >> The class (MyClass) containing the relevant code looks similar to this: >> >> ------------------------------------------------------------------ >> private static int[] myLock = new int[0]; >> >> protected static int methodA(final long handle, final byte[] sort) { >> synchronized (myLock) { >> return xsMethodA(handle, sort); >> } >> } >> >> protected static int methodB(final long handle) { >> synchronized (myLock) { >> return xsMethodB(handle); >> } >> } >> ------------------------------------------------------------------ >> >> >> >> I created a thread dump of my application running the above class and was very surprised as I saw this: >> >> ------------------------------------------------------------------ >> "http-8080-136" daemon prio=10 tid=0x00000000447df000 nid=0x70ed waiting for monitor entry [0x00007fd862aea000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodA(MyClass.java:750) >> - locked<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.otherMethod(SomeOtherClass.java:226) >> ... >> >> "http-8080-111" daemon prio=10 tid=0x00007fd87d1a0000 nid=0x70c8 waiting for monitor entry [0x00007fd86e15f000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodB(MyClass.java:991) >> - locked<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.yetAnotherMethod(SomeOtherClass.java:3231) >> ... >> >> "http-8080-146" daemon prio=10 tid=0x00007fd786dab000 nid=0x184b waiting for monitor entry [0x00007fd8393b6000] >> java.lang.Thread.State: BLOCKED (on object monitor) >> at com.MyClass.methodC(MyClass.java:750) >> - waiting to lock<0x00007fd8a6b8c790> (a [I) >> at com.SomeOtherClass.yetAnoterMethod2(SomeOtherClass.java:226) >> ... >> (43 more threads waiting for the lock) >> ------------------------------------------------------------------ >> >> (I changed the class and method names for the case of simplicity, so don't get confused by the silly names.) >> >> >> It seems that thread http-8080-136 and http-8080-111 have both acquired the lock on myLock. It is the same object as the object address is the same: 0x00007fd8a6b8c790. >> >> The Java Runtime Specification says this about the synchronized keyword: >> ------------------------------------------------------------------ >> A synchronized statement acquires a mutual-exclusion lock (?17.1) on behalf of the executing thread, executes a block, then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. [The Java Language Specification, 14.19] >> ------------------------------------------------------------------ >> >> So how is this even possible? >> >> >> Regards, >> Eduard >> From David.Holmes at oracle.com Wed Jul 14 19:31:49 2010 From: David.Holmes at oracle.com (David Holmes) Date: Thu, 15 Jul 2010 12:31:49 +1000 Subject: [JVMTI]Run error with SetFieldModificationWatch on every field in SPECJBB2005 In-Reply-To: References: Message-ID: <4C3E7315.9070709@oracle.com> That's quite an old version of the VM, and as it is a custom build I can't decode the information in the hs_err log file. Can you update to a more recent version and see if the problem persists. David Holmes ?? said the following on 07/11/10 11:48: > Hi all, > I've run OpenJDK1.6 on Fedora10 with a JVMTI which watch every field > access. The field modification callback method simply return and do > nothing. But OpenJDK randomly throw a bug like this: > > /Start User Threads > started user thread for Warehouse 1 > started user thread for Warehouse 2 > started user thread for Warehouse 3 > Timing Measurement began Sun Jul 11 09:10:48 CST 2010 for 4 minutes > # > # An unexpected error has been detected by Java Runtime Environment: > # > # SIGSEGV (0xb) at pc=0x00f0ec91, pid=10295, tid=5340048 > # > # Java VM: OpenJDK Server VM (1.6.0_0-b12 mixed mode linux-x86) > # Distribution: Custom build (Mon Oct 27 16:16:00 EDT 2008) > # Problematic frame: > # V [libjvm.so+0x471c91] > # > # An error report file with more information is saved as: > # /media/_home/lijian/specjbb2005/dist/hs_err_pid10295.log > # > # If you would like to submit a bug report, please include > # instructions how to reproduce the bug and visit: > # //http://java.sun.com/webapps/bugreport/crash.jsp/ > /# > Aborted > / > Any one can help me with this internal bug? I'll be very appreciate! > / / > > Here's my JVMTI source code: > > /static void JNICALL > FieldModifyCallBack(jvmtiEnv *jvmti_env, > JNIEnv* jni_env, > jthread thread, > jmethodID method, > jlocation location, > jclass field_klass, > jobject object, > jfieldID field, > char signature_type, > jvalue new_value)/ > /{/ > / //do nothing/ > /}/ > > /static void JNICALL > ClassPrepareCallback(jvmtiEnv *jvmti_env, > JNIEnv* jni_env, > jthread thread, > jclass klass) > { > jint field_num; > jfieldID * fieldIDs; > jvmtiError error = jvmti_env->GetClassFields(klass, &field_num, > &fieldIDs);/ > / if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!%d\n", error); > for(int i=0; i< field_num;i++) > {/ > / error = > jvmti_env->SetFieldModificationWatch(klass,fieldIDs[i]); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > } > error = jvmti_env->Deallocate((unsigned char*)fieldIDs); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n");/ > /}/ > > /JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void > *reserved) > { > static jvmtiEnv *jvmti = NULL; > static jvmtiCapabilities capa; > jvmtiError error; > > jint ret = (jvm)->GetEnv((void **)(&jvmti), JVMTI_VERSION_1_0); > (void)memset(&capa, 0, sizeof(jvmtiCapabilities)); > capa.can_generate_field_modification_events = 1; > error = jvmti->AddCapabilities(&capa); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n");/ > / error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, > JVMTI_EVENT_CLASS_PREPARE, (jthread)NULL); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > error = jvmti->SetEventNotificationMode(JVMTI_ENABLE, > JVMTI_EVENT_FIELD_MODIFICATION, NULL); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > > jvmtiEventCallbacks callbacks; > (void)memset(&callbacks, 0, sizeof(callbacks));/ > / callbacks.ClassPrepare= &ClassPrepareCallback; > callbacks.FieldModification = &FieldModifyCallBack; > error = > jvmti->SetEventCallbacks(&callbacks,(jint)sizeof(callbacks)); > if(error != JVMTI_ERROR_NONE) > fprintf(stderr, "!!!\n"); > > return JNI_OK; > } > / > /JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *jvm) > {/ > / return; > }/ > > Here's my openJDK version: > > /[root at localhost dist]# java -versionjava version "1.6.0_0" > IcedTea6 1.3.1 (6b12-Fedora-10) Runtime Environment (build 1.6.0_0-b12) > OpenJDK Server VM (build 1.6.0_0-b12, mixed mode)/ > // > The attachment is /hs_err_pid10295.log/ > > > Thanks a lot! > -- > Li jian > China From andrei.pangin at sun.com Thu Jul 15 06:11:47 2010 From: andrei.pangin at sun.com (andrei.pangin at sun.com) Date: Thu, 15 Jul 2010 13:11:47 +0000 Subject: hg: jdk7/hotspot/hotspot: 4 new changesets Message-ID: <20100715131200.9F1F8479DB@hg.openjdk.java.net> Changeset: bfc89697cccb Author: acorn Date: 2010-07-02 17:23 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/bfc89697cccb 6964164: MonitorInUseLists leak of contended objects Summary: fix MonitorInUseLists memory leak and MonitorBound now works Reviewed-by: chrisphi, dice ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.hpp Changeset: 5087ecc10458 Author: acorn Date: 2010-07-07 14:12 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5087ecc10458 Merge Changeset: 0e7d2a08b605 Author: mchung Date: 2010-07-07 15:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/0e7d2a08b605 6967423: Hotspot support for modules image Summary: Add hotspot support for modules image Reviewed-by: acorn ! make/linux/makefiles/sa.make ! make/solaris/makefiles/sa.make ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/os.cpp Changeset: 1e7ec26380bd Author: apangin Date: 2010-07-14 17:52 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1e7ec26380bd Merge From tom.rodriguez at oracle.com Thu Jul 15 15:50:39 2010 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Thu, 15 Jul 2010 22:50:39 +0000 Subject: hg: jdk7/hotspot/hotspot: 7 new changesets Message-ID: <20100715225051.3B413479F3@hg.openjdk.java.net> Changeset: 2a47bd84841f Author: never Date: 2010-07-08 14:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/2a47bd84841f 6965184: possible races in make_not_entrant_or_zombie Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java - src/os/linux/vm/vtune_linux.cpp - src/os/solaris/vm/vtune_solaris.cpp - src/os/windows/vm/vtune_windows.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/includeDB_core ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/vmStructs.cpp - src/share/vm/runtime/vtune.hpp Changeset: 3941674cc7fa Author: never Date: 2010-07-12 10:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/3941674cc7fa 6958668: repeated uncommon trapping for new of klass which is being initialized Reviewed-by: kvn, jrose ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parseHelper.cpp Changeset: 8d5934a77f10 Author: never Date: 2010-07-12 22:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/8d5934a77f10 6968385: malformed xml in sweeper logging Reviewed-by: kvn ! src/share/vm/runtime/sweeper.cpp Changeset: 079980c86f33 Author: kvn Date: 2010-07-14 14:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/079980c86f33 6968646: JVM crashes with SIGFPE during startup Summary: Check that cpuid returns valid values for processor topology (not zeros). Reviewed-by: never, twisti ! src/cpu/x86/vm/vm_version_x86.hpp Changeset: 8099e71601df Author: kvn Date: 2010-07-14 14:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/8099e71601df 6968368: SIGSEGV in the BCEscapeAnalyzer::copy_dependencies Summary: Use GrowableArray and VectorSet allocated in ciEnv arena. Reviewed-by: never, twisti ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core Changeset: a528509c992b Author: never Date: 2010-07-15 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a528509c992b 6968336: VM crash guarantee(!nm->is_zombie()) failed: cannot lock a zombie method Reviewed-by: twisti ! src/share/vm/prims/jvmtiCodeBlobEvents.cpp Changeset: 61fdaf88f57f Author: never Date: 2010-07-15 13:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/61fdaf88f57f Merge - src/os/linux/vm/vtune_linux.cpp - src/os/solaris/vm/vtune_solaris.cpp - src/os/windows/vm/vtune_windows.cpp - src/share/vm/runtime/vtune.hpp From john.coomes at oracle.com Fri Jul 16 01:33:24 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:33:24 +0000 Subject: hg: jdk7/hotspot: Added tag jdk7-b100 for changeset b218a53ec7d3 Message-ID: <20100716083324.66EEE47A0C@hg.openjdk.java.net> Changeset: 4193eaf5f1b8 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/4193eaf5f1b8 Added tag jdk7-b100 for changeset b218a53ec7d3 ! .hgtags From john.coomes at oracle.com Fri Jul 16 01:33:28 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:33:28 +0000 Subject: hg: jdk7/hotspot/corba: Added tag jdk7-b100 for changeset a56d734a1e97 Message-ID: <20100716083331.4C99747A0D@hg.openjdk.java.net> Changeset: 86a239832646 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/86a239832646 Added tag jdk7-b100 for changeset a56d734a1e97 ! .hgtags From john.coomes at oracle.com Fri Jul 16 01:39:34 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:39:34 +0000 Subject: hg: jdk7/hotspot/jaxp: Added tag jdk7-b100 for changeset d524be5ef62e Message-ID: <20100716083934.6769447A0E@hg.openjdk.java.net> Changeset: 17f62a566a20 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/17f62a566a20 Added tag jdk7-b100 for changeset d524be5ef62e ! .hgtags From john.coomes at oracle.com Fri Jul 16 01:39:38 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:39:38 +0000 Subject: hg: jdk7/hotspot/jaxws: Added tag jdk7-b100 for changeset bd26d0ce0c3c Message-ID: <20100716083938.7EC1547A0F@hg.openjdk.java.net> Changeset: b55ce2744900 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/b55ce2744900 Added tag jdk7-b100 for changeset bd26d0ce0c3c ! .hgtags From john.coomes at oracle.com Fri Jul 16 01:39:48 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:39:48 +0000 Subject: hg: jdk7/hotspot/jdk: 3 new changesets Message-ID: <20100716084043.9914947A10@hg.openjdk.java.net> Changeset: 820b4e843d51 Author: ohair Date: 2010-07-07 10:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/820b4e843d51 6967036: Need to fix links with // in Javadoc comments Reviewed-by: mchung ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java ! src/share/classes/com/sun/security/auth/LdapPrincipal.java ! src/share/classes/com/sun/security/sasl/CramMD5Client.java ! src/share/classes/com/sun/security/sasl/CramMD5Server.java ! src/share/classes/com/sun/security/sasl/ExternalClient.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/nio/charset/package.html ! src/share/classes/javax/management/remote/JMXServiceURL.java ! src/share/classes/javax/naming/ldap/LdapName.java ! src/share/classes/javax/naming/ldap/Rdn.java ! src/share/classes/javax/net/ssl/SSLContext.java ! src/share/classes/javax/print/DocFlavor.java ! src/share/classes/sun/awt/image/PNGImageDecoder.java Changeset: 93c4e6d14010 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/93c4e6d14010 Added tag jdk7-b100 for changeset 820b4e843d51 ! .hgtags Changeset: d58354a69011 Author: bpatel Date: 2010-07-14 15:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d58354a69011 6955341: Oracle rebranding changes for man pages Reviewed-by: darcy ! src/linux/doc/man/appletviewer.1 ! src/linux/doc/man/apt.1 ! src/linux/doc/man/extcheck.1 ! src/linux/doc/man/idlj.1 ! src/linux/doc/man/ja/appletviewer.1 ! src/linux/doc/man/ja/apt.1 ! src/linux/doc/man/ja/extcheck.1 ! src/linux/doc/man/ja/idlj.1 ! src/linux/doc/man/ja/jar.1 ! src/linux/doc/man/ja/jarsigner.1 ! src/linux/doc/man/ja/java.1 ! src/linux/doc/man/ja/javac.1 ! src/linux/doc/man/ja/javadoc.1 ! src/linux/doc/man/ja/javah.1 ! src/linux/doc/man/ja/javap.1 ! src/linux/doc/man/ja/javaws.1 ! src/linux/doc/man/ja/jconsole.1 ! src/linux/doc/man/ja/jdb.1 ! src/linux/doc/man/ja/jhat.1 ! src/linux/doc/man/ja/jinfo.1 ! src/linux/doc/man/ja/jmap.1 ! src/linux/doc/man/ja/jps.1 ! src/linux/doc/man/ja/jrunscript.1 ! src/linux/doc/man/ja/jsadebugd.1 ! src/linux/doc/man/ja/jstack.1 ! src/linux/doc/man/ja/jstat.1 ! src/linux/doc/man/ja/jstatd.1 ! src/linux/doc/man/ja/keytool.1 - src/linux/doc/man/ja/kinit.1 - src/linux/doc/man/ja/klist.1 - src/linux/doc/man/ja/ktab.1 ! src/linux/doc/man/ja/native2ascii.1 ! src/linux/doc/man/ja/orbd.1 ! src/linux/doc/man/ja/pack200.1 ! src/linux/doc/man/ja/policytool.1 ! src/linux/doc/man/ja/rmic.1 ! src/linux/doc/man/ja/rmid.1 ! src/linux/doc/man/ja/rmiregistry.1 ! src/linux/doc/man/ja/schemagen.1 ! src/linux/doc/man/ja/serialver.1 ! src/linux/doc/man/ja/servertool.1 ! src/linux/doc/man/ja/tnameserv.1 ! src/linux/doc/man/ja/unpack200.1 ! src/linux/doc/man/ja/wsgen.1 ! src/linux/doc/man/ja/wsimport.1 ! src/linux/doc/man/ja/xjc.1 ! src/linux/doc/man/jar.1 ! src/linux/doc/man/jarsigner.1 ! src/linux/doc/man/java.1 ! src/linux/doc/man/javac.1 ! src/linux/doc/man/javadoc.1 ! src/linux/doc/man/javah.1 ! src/linux/doc/man/javap.1 ! src/linux/doc/man/javaws.1 ! src/linux/doc/man/jconsole.1 ! src/linux/doc/man/jdb.1 ! src/linux/doc/man/jhat.1 ! src/linux/doc/man/jinfo.1 ! src/linux/doc/man/jmap.1 ! src/linux/doc/man/jps.1 ! src/linux/doc/man/jrunscript.1 ! src/linux/doc/man/jsadebugd.1 ! src/linux/doc/man/jstack.1 ! src/linux/doc/man/jstat.1 ! src/linux/doc/man/jstatd.1 ! src/linux/doc/man/keytool.1 ! src/linux/doc/man/native2ascii.1 ! src/linux/doc/man/orbd.1 ! src/linux/doc/man/pack200.1 ! src/linux/doc/man/policytool.1 ! src/linux/doc/man/rmic.1 ! src/linux/doc/man/rmid.1 ! src/linux/doc/man/rmiregistry.1 ! src/linux/doc/man/schemagen.1 ! src/linux/doc/man/serialver.1 ! src/linux/doc/man/servertool.1 ! src/linux/doc/man/tnameserv.1 ! src/linux/doc/man/unpack200.1 ! src/linux/doc/man/wsgen.1 ! src/linux/doc/man/wsimport.1 ! src/linux/doc/man/xjc.1 ! src/solaris/doc/sun/man/man1/appletviewer.1 ! src/solaris/doc/sun/man/man1/apt.1 ! src/solaris/doc/sun/man/man1/extcheck.1 ! src/solaris/doc/sun/man/man1/idlj.1 ! src/solaris/doc/sun/man/man1/ja/appletviewer.1 ! src/solaris/doc/sun/man/man1/ja/apt.1 ! src/solaris/doc/sun/man/man1/ja/extcheck.1 ! src/solaris/doc/sun/man/man1/ja/idlj.1 ! src/solaris/doc/sun/man/man1/ja/jar.1 ! src/solaris/doc/sun/man/man1/ja/jarsigner.1 ! src/solaris/doc/sun/man/man1/ja/java.1 ! src/solaris/doc/sun/man/man1/ja/javac.1 ! src/solaris/doc/sun/man/man1/ja/javadoc.1 ! src/solaris/doc/sun/man/man1/ja/javah.1 ! src/solaris/doc/sun/man/man1/ja/javap.1 ! src/solaris/doc/sun/man/man1/ja/javaws.1 ! src/solaris/doc/sun/man/man1/ja/jconsole.1 ! src/solaris/doc/sun/man/man1/ja/jdb.1 ! src/solaris/doc/sun/man/man1/ja/jhat.1 ! src/solaris/doc/sun/man/man1/ja/jinfo.1 ! src/solaris/doc/sun/man/man1/ja/jmap.1 ! src/solaris/doc/sun/man/man1/ja/jps.1 ! src/solaris/doc/sun/man/man1/ja/jrunscript.1 ! src/solaris/doc/sun/man/man1/ja/jsadebugd.1 ! src/solaris/doc/sun/man/man1/ja/jstack.1 ! src/solaris/doc/sun/man/man1/ja/jstat.1 ! src/solaris/doc/sun/man/man1/ja/jstatd.1 ! src/solaris/doc/sun/man/man1/ja/keytool.1 ! src/solaris/doc/sun/man/man1/ja/native2ascii.1 ! src/solaris/doc/sun/man/man1/ja/orbd.1 ! src/solaris/doc/sun/man/man1/ja/pack200.1 ! src/solaris/doc/sun/man/man1/ja/policytool.1 ! src/solaris/doc/sun/man/man1/ja/rmic.1 ! src/solaris/doc/sun/man/man1/ja/rmid.1 ! src/solaris/doc/sun/man/man1/ja/rmiregistry.1 ! src/solaris/doc/sun/man/man1/ja/schemagen.1 ! src/solaris/doc/sun/man/man1/ja/serialver.1 ! src/solaris/doc/sun/man/man1/ja/servertool.1 ! src/solaris/doc/sun/man/man1/ja/tnameserv.1 ! src/solaris/doc/sun/man/man1/ja/unpack200.1 ! src/solaris/doc/sun/man/man1/ja/wsgen.1 ! src/solaris/doc/sun/man/man1/ja/wsimport.1 ! src/solaris/doc/sun/man/man1/ja/xjc.1 ! src/solaris/doc/sun/man/man1/jar.1 ! src/solaris/doc/sun/man/man1/jarsigner.1 ! src/solaris/doc/sun/man/man1/java.1 ! src/solaris/doc/sun/man/man1/javac.1 ! src/solaris/doc/sun/man/man1/javadoc.1 ! src/solaris/doc/sun/man/man1/javah.1 ! src/solaris/doc/sun/man/man1/javap.1 ! src/solaris/doc/sun/man/man1/javaws.1 ! src/solaris/doc/sun/man/man1/jconsole.1 ! src/solaris/doc/sun/man/man1/jdb.1 ! src/solaris/doc/sun/man/man1/jhat.1 ! src/solaris/doc/sun/man/man1/jinfo.1 ! src/solaris/doc/sun/man/man1/jmap.1 ! src/solaris/doc/sun/man/man1/jps.1 ! src/solaris/doc/sun/man/man1/jrunscript.1 ! src/solaris/doc/sun/man/man1/jsadebugd.1 ! src/solaris/doc/sun/man/man1/jstack.1 ! src/solaris/doc/sun/man/man1/jstat.1 ! src/solaris/doc/sun/man/man1/jstatd.1 ! src/solaris/doc/sun/man/man1/keytool.1 ! src/solaris/doc/sun/man/man1/native2ascii.1 ! src/solaris/doc/sun/man/man1/orbd.1 ! src/solaris/doc/sun/man/man1/pack200.1 ! src/solaris/doc/sun/man/man1/policytool.1 ! src/solaris/doc/sun/man/man1/rmic.1 ! src/solaris/doc/sun/man/man1/rmid.1 ! src/solaris/doc/sun/man/man1/rmiregistry.1 ! src/solaris/doc/sun/man/man1/schemagen.1 ! src/solaris/doc/sun/man/man1/serialver.1 ! src/solaris/doc/sun/man/man1/servertool.1 ! src/solaris/doc/sun/man/man1/tnameserv.1 ! src/solaris/doc/sun/man/man1/unpack200.1 ! src/solaris/doc/sun/man/man1/wsgen.1 ! src/solaris/doc/sun/man/man1/wsimport.1 ! src/solaris/doc/sun/man/man1/xjc.1 From john.coomes at oracle.com Fri Jul 16 01:47:29 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 16 Jul 2010 08:47:29 +0000 Subject: hg: jdk7/hotspot/langtools: Added tag jdk7-b100 for changeset d1d7595fa824 Message-ID: <20100716084734.F228D47A11@hg.openjdk.java.net> Changeset: 20a8fe72ee7b Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/20a8fe72ee7b Added tag jdk7-b100 for changeset d1d7595fa824 ! .hgtags From xiaoqiangnk at gmail.com Fri Jul 16 07:07:29 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Fri, 16 Jul 2010 22:07:29 +0800 Subject: modify hotspot's makefie to be of linux-kernel style Message-ID: Hi,all The hotspot's makefile is difficult to understand, so I think it's necessary to modify it to be of linux-kernel style. What's your opinion on this? -- Best Wishes Yongqiang Yang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100716/9818f691/attachment.html From Alexey.Utkin at Sun.COM Fri Jul 16 08:09:15 2010 From: Alexey.Utkin at Sun.COM (Alexey Utkin) Date: Fri, 16 Jul 2010 19:09:15 +0400 Subject: Fwd: Re: VM hangs in VS2008 build In-Reply-To: <4C3F1313.2010205@sun.com> References: <4C3F1313.2010205@sun.com> Message-ID: <4C40761B.8020208@sun.com> It seems that problem was localized in staff class JavaStringBuffer. The class has inline implementation in jdk\src\windows\native\sun\windows\awt.h The right code is: class JavaStringBuffer { protected: LPWSTR m_pStr; jsize m_dwSize; LPWSTR getNonEmptyString() { return (NULL==m_pStr) ? L"" : m_pStr; } public: JavaStringBuffer(jsize cbTCharCount) { m_dwSize = cbTCharCount; m_pStr = (LPWSTR)safe_Malloc( (m_dwSize+1)*sizeof(WCHAR) ); } JavaStringBuffer(JNIEnv *env, jstring text) { if (NULL == text) { m_pStr = NULL; m_dwSize = 0; } else { m_dwSize = env->GetStringLength(text); m_pStr = (LPWSTR)safe_Malloc( (m_dwSize+1)*sizeof(WCHAR) ); env->GetStringRegion(text, 0, m_dwSize, reinterpret_cast(m_pStr)); m_pStr[m_dwSize] = 0; } } ~JavaStringBuffer() { free(m_pStr); } void Resize(jsize cbTCharCount) { m_dwSize = cbTCharCount; m_pStr = (LPWSTR)safe_Realloc(m_pStr, (m_dwSize+1)*sizeof(WCHAR) ); } //we are in UNICODE now, so LPWSTR:=:LPTSTR operator LPWSTR() { return getNonEmptyString(); } operator LPARAM() { return (LPARAM)getNonEmptyString(); } void *GetData() { return (void *)getNonEmptyString(); } jsize GetSize() { return m_dwSize; } }; That solves the problem. Regards, -uta On 7/15/2010 17:54, Artem Ananiev wrote: > > -------- Original Message -------- > Subject: Re: VM hangs in VS2008 build > Date: Tue, 13 Jul 2010 09:15:12 -0700 > From: Phil Race > To: Artem Ananiev > > FYI your test crashes with my VS2010 build on Windows 7, apparently > also when trying to dispose. Windows whinges about corrupted (C) heap. > The break point opened by Visual Studio is inside msvcr100.dll at > > static unsigned long WINAPI _threadstartex () -> > .. > _callthreadstartex(); // here. > > -phil. > > On 7/13/2010 4:56 AM, Artem Ananiev wrote: >> Hi, AWT & HotSpot teams, >> >> I've just experienced a problem with a simple test - see the attached >> file. The test shows a file dialog and then hangs when the dialog is >> being disposed. I tried to get a stack trace... and failed, both with >> jstack and ctrl+break from the console. >> >> When I attached to the process with Visual Studio, I noticed several >> suspicious threads: >> >> 1. One of the threads with AWT code waits for safe_Malloc() to return, >> which in turn waits for JVM code in Monitor::set_owner_implementation(): >> >> ntdll.dll!_ZwWaitForSingleObject at 12() >> ntdll.dll!_ZwWaitForSingleObject at 12() >> jvm.dll!Monitor::set_owner_implementation(Thread * >> new_owner=0x00000000) Line 1307 >> ntdll.dll!_RtlEnterCriticalSection at 4() >> ntdll.dll!@RtlpAllocateHeap at 24() >> ntdll.dll!_RtlAllocateHeap at 12() >> msvcr90.dll!75293db8() >> [Frames below may be incorrect and/or missing, no symbols loaded for >> msvcr90.dll] >> awt.dll!safe_Malloc(unsigned int size=6) Line 85 >> awt.dll!CreateLocaleObject(JNIEnv_ * env=0x04601d34, const char * >> name=0x002a1e58) Line 539 >> awt.dll!Java_sun_awt_windows_WInputMethod_getNativeLocale(JNIEnv_ * >> env=0x04601d34, _jclass * cls=0x065bf728) Line 299 >> >> >> 2. Another thread is in os::free(): >> >> ntdll.dll!_ZwWaitForSingleObject at 12() >> ntdll.dll!_ZwWaitForSingleObject at 12() >> KernelBase.dll!_GetProcAddress at 8() >> ntdll.dll!_RtlEnterCriticalSection at 4() >> ntdll.dll!@RtlpFreeHeap at 16() >> ntdll.dll!_RtlFreeHeap at 12() >> kernel32.dll!_HeapFree at 12() >> msvcr90.dll!75293c1b() >> [Frames below may be incorrect and/or missing, no symbols loaded for >> msvcr90.dll] >> jvm.dll!os::free(void * memblock=0x01f64d50) Line 602 >> jvm.dll!ChunkPool::free_all_but(unsigned int n=5) Line 152 >> jvm.dll!ChunkPoolCleaner::task() Line 195 >> jvm.dll!PeriodicTask::real_time_tick(unsigned int delay_time=50) >> Line 60 >> jvm.dll!WatcherThread::run() Line 1086 >> jvm.dll!java_start(Thread * thread=0x01f5c800) Line 377 >> >> >> 3. One more thread waiting for a memory-related operation - I suspect >> it's the thread that should provide the stack trace: >> >> ntdll.dll!_ZwWaitForSingleObject at 12() >> ntdll.dll!_ZwWaitForSingleObject at 12() >> jvm.dll!InterfaceSupport::serialize_memory(JavaThread * >> thread=0x00000148) Line 37 >> kernel32.dll!_WaitForSingleObjectExImplementation at 12() >> kernel32.dll!_WaitForSingleObject at 8() >> jvm.dll!Win32AttachListener::dequeue() Line 233 >> jvm.dll!AttachListener::dequeue() Line 353 >> jvm.dll!attach_listener_thread_entry(JavaThread * thread=0x01f4d800, >> Thread * __the_thread__=0x01f4d800) Line 376 >> jvm.dll!JavaThread::thread_main_inner() Line 1402 >> jvm.dll!java_start(Thread * thread=0x01f4d800) Line 377 >> >> >> Any ideas about what's going? The hang only occurs if I build JDK and >> HotSpot using VS2008 - exactly the same JDK7-b99 promoted build (which >> is built with VS2003) works fine. If I change the file dialog with a >> regular AWT modal dialog, the problem goes away as well. >> >> Thanks, >> >> Artem > > From erik.trimble at oracle.com Fri Jul 16 09:39:55 2010 From: erik.trimble at oracle.com (Erik Trimble) Date: Fri, 16 Jul 2010 09:39:55 -0700 Subject: modify hotspot's makefie to be of linux-kernel style In-Reply-To: References: Message-ID: <4C408B5B.6000002@oracle.com> On 7/16/2010 7:07 AM, Yongqiang Yang wrote: > Hi,all > > The hotspot's makefile is difficult to understand, so I think it's > necessary to modify it to be of linux-kernel style. What's your > opinion on this? > -- > Best Wishes > Yongqiang Yang > The top-level makefile is actually fairly straight-forward. However, the entire build setup could use a reasonable overhaul (though, frankly, the JDK build setup is much more in need of a cleanup than Hotspot). More than anything else, increasing parallelism in the build is of a high priority. We would certainly entertain someone's interest in re-designing the Hotspot or JDK build scripts. That said, I'd strongly NOT recommend considering anything based on the Kbuild architecture of the Linux kernel. Kbuild works for the Linux kernel, and, really, not much else. And, one major concern with any re-architecting the Hotspot build system: whatever the new design is, it MUST work on all platforms. That is, it shouldn't be a mishmash of VisualStudio project files, ant scripts, Makefiles, and perl/python script. It needs to have a identical (or, at least as identical as possible) implementation on at least these platforms: Win32 Win64 Solaris x64 Solaris SPARC Linux x64 Linux x86 MacOS X And should be trivially portable to any UNIX-like OS. -- Erik Trimble Java System Support Mailstop: usca22-123 Phone: x17195 Santa Clara, CA From abhi.saha at oracle.com Sat Jul 17 02:01:57 2010 From: abhi.saha at oracle.com (abhi.saha at oracle.com) Date: Sat, 17 Jul 2010 09:01:57 +0000 Subject: hg: hsx/hsx17/baseline: 6969236: Regression: JVM identification fails due to Oracle rebranding in java.exe Message-ID: <20100717090159.D407547A6E@hg.openjdk.java.net> Changeset: 1771222afd14 Author: ohair Date: 2010-07-16 22:26 -0700 URL: http://hg.openjdk.java.net/hsx/hsx17/baseline/rev/1771222afd14 6969236: Regression: JVM identification fails due to Oracle rebranding in java.exe Reviewed-by: asaha ! make/hotspot_distro ! make/hotspot_version From erik.trimble at oracle.com Tue Jul 20 18:26:48 2010 From: erik.trimble at oracle.com (erik.trimble at oracle.com) Date: Wed, 21 Jul 2010 01:26:48 +0000 Subject: hg: jdk7/hotspot/hotspot: 24 new changesets Message-ID: <20100721012728.1F9CC47B35@hg.openjdk.java.net> Changeset: f56e28f22410 Author: trims Date: 2010-06-03 18:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/f56e28f22410 6958458: Bump the HS19 build number to 03 Summary: Update the HS19 build number to 03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 49242b3df6cd Author: mikejwre Date: 2010-06-03 13:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/49242b3df6cd Added tag jdk7-b96 for changeset 573e8ea5fd68 ! .hgtags Changeset: 5f42499e57ad Author: trims Date: 2010-06-04 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5f42499e57ad Added tag hs19-b02 for changeset 573e8ea5fd68 ! .hgtags Changeset: b0e7cd862748 Author: mikejwre Date: 2010-06-10 13:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b0e7cd862748 Added tag jdk7-b97 for changeset 5f42499e57ad ! .hgtags Changeset: 70191885f707 Author: prr Date: 2010-06-16 09:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/70191885f707 6961079: Build JDK7 for 64 bit Windows using free Windows 7.1 SDK 64 bit compilers Reviewed-by: ohair, jcoomes ! make/windows/makefiles/defs.make Changeset: 8a045b3f5c13 Author: mikejwre Date: 2010-06-16 15:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/8a045b3f5c13 Merge Changeset: 695c43156a9a Author: mikejwre Date: 2010-06-17 16:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/695c43156a9a Added tag jdk7-b98 for changeset 8a045b3f5c13 ! .hgtags Changeset: c69846936352 Author: trims Date: 2010-06-17 23:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c69846936352 Merge Changeset: e848dd13e1b6 Author: trims Date: 2010-06-18 00:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e848dd13e1b6 Merge Changeset: 606df121c181 Author: trims Date: 2010-06-04 11:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/606df121c181 Merge Changeset: 6a236384a379 Author: trims Date: 2010-06-18 00:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6a236384a379 Merge Changeset: b34c75c0b6b8 Author: mikejwre Date: 2010-06-24 20:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/b34c75c0b6b8 Added tag jdk7-b99 for changeset 6a236384a379 ! .hgtags Changeset: e13a5c0ed5e2 Author: prr Date: 2010-06-29 16:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e13a5c0ed5e2 6964882: 32 bit JDK does not build on 64 bit Windows platforms Reviewed-by: ohair, valeriep ! make/windows/makefiles/defs.make Changeset: ad1977f08c4d Author: mikejwre Date: 2010-06-30 18:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ad1977f08c4d Merge Changeset: 871d2aa321f7 Author: trims Date: 2010-07-02 01:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/871d2aa321f7 Merge Changeset: 7cc68a696c62 Author: trims Date: 2010-07-02 01:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7cc68a696c62 6966252: Bump the HS19 build number to 04 Summary: Update the HS19 build number to 04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 56cc7e01da2f Author: trims Date: 2010-07-09 00:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/56cc7e01da2f Added tag hs19-b03 for changeset ad1977f08c4d ! .hgtags Changeset: 1dbaff4aa23a Author: trims Date: 2010-07-09 00:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1dbaff4aa23a Merge Changeset: cf647374e044 Author: trims Date: 2010-07-09 00:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/cf647374e044 Merge Changeset: 6c3a919105b6 Author: mikejwre Date: 2010-07-09 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/6c3a919105b6 Added tag jdk7-b100 for changeset ad1977f08c4d ! .hgtags Changeset: a2b581345549 Author: trims Date: 2010-07-15 19:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a2b581345549 Merge ! .hgtags Changeset: e55900b5c1b8 Author: trims Date: 2010-07-15 19:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e55900b5c1b8 Merge - src/os/linux/vm/vtune_linux.cpp - src/os/solaris/vm/vtune_solaris.cpp - src/os/windows/vm/vtune_windows.cpp - src/share/vm/runtime/vtune.hpp Changeset: 75b254ea860e Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/75b254ea860e Added tag jdk7-b101 for changeset 6c3a919105b6 ! .hgtags Changeset: c5cadf1a0771 Author: trims Date: 2010-07-20 18:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/c5cadf1a0771 Merge ! .hgtags From y.s.ramakrishna at oracle.com Wed Jul 21 12:22:14 2010 From: y.s.ramakrishna at oracle.com (y.s.ramakrishna at oracle.com) Date: Wed, 21 Jul 2010 19:22:14 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20100721192223.972DC47B68@hg.openjdk.java.net> Changeset: e7ec8cd4dd8a Author: tonyp Date: 2010-06-28 14:13 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e7ec8cd4dd8a 6962569: assembler_sparc.cpp:1969: assert(false) failed: error Summary: array_overlap_test() fails when the address range crosses the MSB boundary. Thanks to Tom and Vladimir for their help on this one. Reviewed-by: kvn, never, iveresov ! src/cpu/sparc/vm/stubGenerator_sparc.cpp Changeset: 4e5661ba9d98 Author: tonyp Date: 2010-06-28 14:13 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4e5661ba9d98 6944166: G1: explicit GCs are not always handled correctly Summary: G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset. Reviewed-by: iveresov, ysr, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/runtime/mutexLocker.cpp Changeset: 1a1ce2076047 Author: ysr Date: 2010-07-16 10:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1a1ce2076047 Merge Changeset: ad7e433e2730 Author: ysr Date: 2010-07-20 16:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/ad7e433e2730 Merge - src/os/linux/vm/vtune_linux.cpp - src/os/solaris/vm/vtune_solaris.cpp - src/os/windows/vm/vtune_windows.cpp - src/share/vm/runtime/vtune.hpp Changeset: 131ed9a23d48 Author: ysr Date: 2010-07-21 09:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/131ed9a23d48 Merge From john.coomes at oracle.com Thu Jul 22 20:33:22 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 03:33:22 +0000 Subject: hg: jdk7/hotspot: 4 new changesets Message-ID: <20100723033322.8114647BB8@hg.openjdk.java.net> Changeset: 055626b50d2d Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/055626b50d2d Added tag jdk7-b101 for changeset 4193eaf5f1b8 ! .hgtags Changeset: a191e79df156 Author: lana Date: 2010-06-29 10:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/a191e79df156 Merge Changeset: 9cda7c220c08 Author: lana Date: 2010-07-12 19:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/9cda7c220c08 Merge Changeset: a136a51f5113 Author: lana Date: 2010-07-20 22:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/rev/a136a51f5113 Merge From john.coomes at oracle.com Thu Jul 22 20:33:28 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 03:33:28 +0000 Subject: hg: jdk7/hotspot/corba: 4 new changesets Message-ID: <20100723033334.2384847BB9@hg.openjdk.java.net> Changeset: d130544adab3 Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/d130544adab3 Added tag jdk7-b101 for changeset 86a239832646 ! .hgtags Changeset: 03fd3d78e344 Author: lana Date: 2010-06-29 10:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/03fd3d78e344 Merge Changeset: 98da66f47273 Author: lana Date: 2010-07-12 19:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/98da66f47273 Merge Changeset: 78561a957790 Author: lana Date: 2010-07-20 22:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/corba/rev/78561a957790 Merge From john.coomes at oracle.com Thu Jul 22 20:37:05 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 03:37:05 +0000 Subject: hg: jdk7/hotspot/jaxp: 5 new changesets Message-ID: <20100723033706.0997647BBA@hg.openjdk.java.net> Changeset: c9bd73f6d584 Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/c9bd73f6d584 Added tag jdk7-b101 for changeset 17f62a566a20 ! .hgtags Changeset: 34ed99f84832 Author: ohair Date: 2010-06-24 08:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/34ed99f84832 6963941: Correct download link for source drop bundle Reviewed-by: darcy ! jaxp.properties Changeset: e46c304486c0 Author: lana Date: 2010-06-29 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/e46c304486c0 Merge Changeset: 70c8a34e2eb6 Author: lana Date: 2010-07-12 19:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/70c8a34e2eb6 Merge Changeset: 15573625af97 Author: lana Date: 2010-07-20 22:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxp/rev/15573625af97 Merge From john.coomes at oracle.com Thu Jul 22 20:37:11 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 03:37:11 +0000 Subject: hg: jdk7/hotspot/jaxws: 4 new changesets Message-ID: <20100723033712.5379A47BBB@hg.openjdk.java.net> Changeset: d1525c38428a Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/d1525c38428a Added tag jdk7-b101 for changeset b55ce2744900 ! .hgtags Changeset: 2dd6394ddec2 Author: lana Date: 2010-06-29 10:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/2dd6394ddec2 Merge Changeset: 2b7a1ec9562e Author: lana Date: 2010-07-12 19:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/2b7a1ec9562e Merge Changeset: d8580443d181 Author: lana Date: 2010-07-20 22:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jaxws/rev/d8580443d181 Merge From john.coomes at oracle.com Thu Jul 22 20:39:13 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 03:39:13 +0000 Subject: hg: jdk7/hotspot/jdk: 76 new changesets Message-ID: <20100723035145.6280B47BBC@hg.openjdk.java.net> Changeset: 6c4450bbad6d Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6c4450bbad6d Added tag jdk7-b101 for changeset d58354a69011 ! .hgtags Changeset: c801686d91f4 Author: prr Date: 2010-06-29 09:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c801686d91f4 6943487: NPE in makeMultiCharsetString while printing on linux Reviewed-by: igor, jgodinez ! src/share/classes/sun/awt/PlatformFont.java ! src/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java Changeset: 4da6837dd085 Author: lana Date: 2010-06-30 15:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4da6837dd085 Merge Changeset: ab55cb957830 Author: igor Date: 2010-07-06 18:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ab55cb957830 6967050: JDK build issues with cygwin/vc2010 Reviewed-by: prr, ohair ! make/common/shared/Defs-windows.gmk ! make/mkdemo/Makefile Changeset: e03065fc64e7 Author: igor Date: 2010-07-12 13:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e03065fc64e7 6959998: Return of SurfaceData_InitOps point not checked in all cases (parfait found these) Reviewed-by: prr Contributed-by: ohair ! src/share/native/sun/awt/image/BufImgSurfaceData.c ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp Changeset: 2ad69cb576b4 Author: igor Date: 2010-07-12 15:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2ad69cb576b4 6968373: FontUtilities static initializer throws AccessControlException Reviewed-by: prr ! src/share/classes/sun/font/FontUtilities.java ! test/java/awt/FontClass/FontPrivilege.java Changeset: 4a639bcd3361 Author: lana Date: 2010-07-12 19:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4a639bcd3361 Merge Changeset: f5145c7119c2 Author: yan Date: 2010-06-24 11:50 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f5145c7119c2 6957166: With XAWT, set arguments properly creating a MouseWheelEvent. Summary: swap some parameters to allow bigger values for click count. Reviewed-by: dav ! src/solaris/classes/sun/awt/X11/XWindow.java Changeset: bccf2a4ee318 Author: art Date: 2010-07-06 17:59 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/bccf2a4ee318 6424157: java.awt.EventQueue push/pop might cause threading issues Reviewed-by: ant, dcherepanov ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/sun/awt/SunToolkit.java ! test/java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java ! test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java + test/java/awt/EventDispatchThread/PreserveDispathThread/PreserveDispatchThread.java ! test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java Changeset: 21b17c64df74 Author: dcherepanov Date: 2010-07-06 18:23 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/21b17c64df74 6966643: GTK FileDialog hangs when user manually closes it Reviewed-by: art ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c Changeset: 9950dc616615 Author: dcherepanov Date: 2010-07-07 14:20 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9950dc616615 6959174: Need to introduce sun.awt.disableGtkFileDialogs system property Reviewed-by: art, anthony ! src/share/classes/sun/awt/SunToolkit.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: 48aa2a1edd2b Author: lana Date: 2010-07-08 11:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/48aa2a1edd2b Merge Changeset: 2d8f060dd1c5 Author: lana Date: 2010-07-12 19:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2d8f060dd1c5 Merge Changeset: 69ddf06e616a Author: malenkov Date: 2010-06-22 12:06 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/69ddf06e616a 6707234: Method returned by Introspector.internalFindMethod not necessarily most specific Reviewed-by: peterz ! src/share/classes/com/sun/beans/finder/MethodFinder.java ! src/share/classes/java/beans/EventSetDescriptor.java ! src/share/classes/java/beans/IndexedPropertyDescriptor.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/MethodDescriptor.java ! src/share/classes/java/beans/PropertyDescriptor.java + test/java/beans/Introspector/Test6707234.java Changeset: 5af3b0430bbe Author: peterz Date: 2010-06-22 14:36 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5af3b0430bbe 6959260: javax/swing/JLabel/6501991/bug6501991.java failed on build 1.7.0-ea-b96 Reviewed-by: rupashka ! src/share/classes/sun/swing/SwingUtilities2.java ! test/ProblemList.txt ! test/com/sun/java/swing/plaf/gtk/Test6635110.java Changeset: dea63f6dda7a Author: alexp Date: 2010-06-22 19:38 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/dea63f6dda7a 6777378: NullPointerException in XPDefaultRenderer.paint() Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java + test/javax/swing/JTable/6777378/bug6777378.java Changeset: a05e047c5b98 Author: alexp Date: 2010-06-22 20:36 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a05e047c5b98 6684401: JTree isExpanded should not call itself recursively Reviewed-by: rupashka ! src/share/classes/javax/swing/JTree.java Changeset: f1bafc4f249d Author: peterz Date: 2010-06-29 14:42 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f1bafc4f249d 6963870: NPE in CompoundBorder.getInsets() Reviewed-by: alexp Contributed-by: jon.vanalten at redhat.com ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java + test/com/sun/java/swing/plaf/gtk/Test6963870.java Changeset: c0e785f055a7 Author: lana Date: 2010-06-30 19:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c0e785f055a7 Merge ! test/ProblemList.txt Changeset: d062afbe2107 Author: malenkov Date: 2010-07-01 18:09 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d062afbe2107 4129681: Cannot get a title border to display its label as disabled Reviewed-by: alexp, rupashka ! src/share/classes/javax/swing/border/TitledBorder.java + test/javax/swing/border/Test4129681.html + test/javax/swing/border/Test4129681.java + test/javax/swing/border/Test4760089.html + test/javax/swing/border/Test4760089.java Changeset: 46306a419ba3 Author: malenkov Date: 2010-07-01 18:47 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/46306a419ba3 6959266: test javax/swing/JInternalFrame/6725409/bug6725409.java should be modified Reviewed-by: alexp ! test/javax/swing/JInternalFrame/6725409/bug6725409.java Changeset: e94a94d176f9 Author: alexp Date: 2010-07-02 19:28 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e94a94d176f9 6711682: JCheckBox in JTable: checkbox doesn't alaways respond to the first mouse click Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java + test/javax/swing/AbstractButton/6711682/bug6711682.java Changeset: 46d5aef470a3 Author: alexp Date: 2010-07-02 19:34 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/46d5aef470a3 6937415: Some components return undocumented default values under Nimbus LaF Reviewed-by: peterz ! src/share/classes/javax/swing/JSplitPane.java ! src/share/classes/javax/swing/JTable.java ! src/share/classes/javax/swing/plaf/nimbus/skin.laf Changeset: e12c92d2dc11 Author: rupashka Date: 2010-07-08 19:09 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/e12c92d2dc11 6520101: FileChooser will cause OutOfMemory when application will run long time Reviewed-by: peterz ! src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java + test/javax/swing/JFileChooser/6520101/bug6520101.java Changeset: d0bcc9aa5a7a Author: malenkov Date: 2010-07-09 19:42 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d0bcc9aa5a7a 6894597: test/closed/javax/swing/JPopupMenu/6495920/bug6495920.java fails Reviewed-by: alexp, peterz + test/javax/swing/JPopupMenu/6495920/bug6495920.java Changeset: 3dc686ecb4cd Author: malenkov Date: 2010-07-09 22:07 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3dc686ecb4cd 6963811: Deadlock-prone locking changes in Introspector Reviewed-by: peterz, rupashka ! src/share/classes/com/sun/beans/finder/InstanceFinder.java ! src/share/classes/com/sun/beans/finder/PersistenceDelegateFinder.java ! src/share/classes/com/sun/beans/finder/PropertyEditorFinder.java ! src/share/classes/java/beans/Encoder.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/PropertyEditorManager.java + test/java/beans/Introspector/Test6963811.java + test/java/beans/PropertyEditor/Test6963811.java + test/java/beans/XMLEncoder/Test6963811.java Changeset: a93a7ed5018c Author: lana Date: 2010-07-12 19:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a93a7ed5018c Merge Changeset: dd98b0b747ec Author: ohair Date: 2010-06-22 10:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/dd98b0b747ec 6931871: Rebranding of javadoc generation in makefiles 6951293: control docs target does not work on windows Reviewed-by: jjg + make/common/shared/Defs-javadoc.gmk ! make/docs/Makefile Changeset: d7fdaee81c14 Author: sherman Date: 2010-06-22 14:04 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d7fdaee81c14 6963156: TEST_BUG: Several tests under sun/nio/cs failed Summary: Updated the test cases and removed them from ProblemList.txt Reviewed-by: alanb ! test/ProblemList.txt ! test/sun/nio/cs/FindDecoderBugs.java ! test/sun/nio/cs/TestX11CNS.java Changeset: 6fe3b86f4720 Author: sherman Date: 2010-06-22 14:22 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6fe3b86f4720 Merge Changeset: 4e76be6e9fe1 Author: dcubed Date: 2010-06-22 10:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4e76be6e9fe1 6942989: 2/2 Memory leak of java.lang.ref.WeakReference objects Summary: Use ReferenceQueues to manage WeakReferences in LogManager and Logger. Reviewed-by: dholmes, alanb, emcmanus, tonyp Contributed-by: jeremymanson at google.com ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/AnonLoggerWeakRefLeak.java + test/java/util/logging/AnonLoggerWeakRefLeak.sh + test/java/util/logging/LoggerWeakRefLeak.java + test/java/util/logging/LoggerWeakRefLeak.sh Changeset: 600ef8b4a211 Author: dcubed Date: 2010-06-22 16:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/600ef8b4a211 Merge Changeset: 25fe5c3bf7b7 Author: ohair Date: 2010-06-22 17:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/25fe5c3bf7b7 6939022: Source code adjustments for parfait compilation Reviewed-by: jjg ! src/solaris/demo/jni/Poller/Poller.c Changeset: 848e69fcf2f3 Author: ohair Date: 2010-06-22 17:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/848e69fcf2f3 6933622: Duplicate class files in rt.jar and charsets.jar 6895003: JarReorder is not excluding a requested file. Reviewed-by: jjg ! make/common/Release.gmk ! make/tools/src/build/tools/jarreorder/JarReorder.java ! test/ProblemList.txt Changeset: 3c745249065f Author: ohair Date: 2010-06-22 19:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/3c745249065f Merge Changeset: 887e525597f8 Author: dsamersoff Date: 2010-06-23 17:25 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/887e525597f8 6931566: NetworkInterface is not working when interface name is more than 15 characters long Summary: Separate Linux and Solaris code, use lifreq under Solaris Reviewed-by: chegar ! src/solaris/native/java/net/NetworkInterface.c Changeset: eb84b89ef3ff Author: alanb Date: 2010-06-23 20:19 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/eb84b89ef3ff 6963027: TEST_BUG: channels and buffer tests need to run in samevm mode Reviewed-by: ohair, sherman, chegar ! test/Makefile ! test/ProblemList.txt ! test/java/nio/BufferPoolMXBean/Basic.java ! test/java/nio/MappedByteBuffer/Basic.java ! test/java/nio/MappedByteBuffer/Force.java ! test/java/nio/MappedByteBuffer/ZeroMap.java ! test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java ! test/java/nio/channels/AsynchronousChannelGroup/Identity.java ! test/java/nio/channels/AsynchronousDatagramChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Basic.java ! test/java/nio/channels/AsynchronousFileChannel/Lock.java ! test/java/nio/channels/AsynchronousFileChannel/LotsOfWrites.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/Channels/Write.java ! test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java ! test/java/nio/channels/DatagramChannel/EmptyBuffer.java ! test/java/nio/channels/DatagramChannel/ReceiveISA.java ! test/java/nio/channels/DatagramChannel/SelectWhenRefused.java ! test/java/nio/channels/FileChannel/Args.java ! test/java/nio/channels/FileChannel/ClosedChannelTransfer.java ! test/java/nio/channels/FileChannel/ExpandingMap.java ! test/java/nio/channels/FileChannel/Lock.java ! test/java/nio/channels/FileChannel/MapOverEnd.java ! test/java/nio/channels/FileChannel/MapReadOnly.java ! test/java/nio/channels/FileChannel/MapTest.java ! test/java/nio/channels/FileChannel/Mode.java ! test/java/nio/channels/FileChannel/Position.java ! test/java/nio/channels/FileChannel/Pread.java ! test/java/nio/channels/FileChannel/Pwrite.java ! test/java/nio/channels/FileChannel/Read.java ! test/java/nio/channels/FileChannel/ReadFull.java ! test/java/nio/channels/FileChannel/ReadToLimit.java ! test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java ! test/java/nio/channels/FileChannel/ScatteringRead.java ! test/java/nio/channels/FileChannel/Size.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/channels/FileChannel/TransferToChannel.java ! test/java/nio/channels/FileChannel/TransferToNonWritable.java ! test/java/nio/channels/FileChannel/Transfers.java ! test/java/nio/channels/FileChannel/TryLock.java ! test/java/nio/channels/FileChannel/Write.java ! test/java/nio/channels/Pipe/NonBlocking.java ! test/java/nio/channels/Pipe/SelectPipe.java ! test/java/nio/channels/SelectionKey/AtomicAttachTest.java ! test/java/nio/channels/Selector/BasicAccept.java ! test/java/nio/channels/Selector/BasicConnect.java ! test/java/nio/channels/Selector/CheckLocking.java ! test/java/nio/channels/Selector/CloseInvalidatesKeys.java ! test/java/nio/channels/Selector/CloseWhenKeyIdle.java ! test/java/nio/channels/Selector/Connect.java ! test/java/nio/channels/Selector/ConnectWrite.java ! test/java/nio/channels/Selector/HelperSlowToDie.java ! test/java/nio/channels/Selector/KeysReady.java ! test/java/nio/channels/Selector/LotsOfChannels.java ! test/java/nio/channels/Selector/RegAfterPreClose.java ! test/java/nio/channels/Selector/SelectAndCancel.java ! test/java/nio/channels/Selector/SelectorLimit.java ! test/java/nio/channels/Selector/SelectorTest.java ! test/java/nio/channels/Selector/WakeupNow.java ! test/java/nio/channels/Selector/WakeupOverflow.java ! test/java/nio/channels/Selector/WakeupSpeed.java - test/java/nio/channels/ServerSocketChannel/AcceptAddress.java ! test/java/nio/channels/SocketChannel/AdaptSocket.java ! test/java/nio/channels/SocketChannel/Bind.java ! test/java/nio/channels/SocketChannel/Close.java ! test/java/nio/channels/SocketChannel/CloseRegisteredChannel.java ! test/java/nio/channels/SocketChannel/CloseTimeoutChannel.java ! test/java/nio/channels/SocketChannel/IsConnectable.java ! test/java/nio/channels/SocketChannel/LocalAddress.java ! test/java/nio/channels/SocketChannel/SocketInheritance.java ! test/java/nio/channels/SocketChannel/Trivial.java ! test/java/nio/channels/SocketChannel/UnboundSocketTests.java ! test/java/nio/channels/etc/Shadow.java ! test/java/nio/channels/spi/SelectorProvider/inheritedChannel/ClosedStreams.java ! test/sun/nio/ch/Basic.java ! test/sun/nio/ch/TempBuffer.java ! test/sun/nio/cs/ReadZero.java ! test/sun/nio/cs/Test4206507.java ! test/sun/nio/cs/TestStringCoding.java Changeset: 55aa27b8bb98 Author: alanb Date: 2010-06-23 21:22 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/55aa27b8bb98 Merge Changeset: c4d60bcce958 Author: darcy Date: 2010-06-23 17:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c4d60bcce958 6911258: Project Coin: Add essential API support for Automatic Resource Management (ARM) blocks 6911261: Project Coin: Retrofit Automatic Resource Management (ARM) support onto platform APIs 6962571: Infinite loop in printing out Throwable stack traces with circular references Reviewed-by: darcy, alanb Contributed-by: jjb at google.com ! make/java/java/FILES_java.gmk ! src/share/classes/java/io/Closeable.java + src/share/classes/java/lang/AutoCloseable.java ! src/share/classes/java/lang/Throwable.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/javax/imageio/stream/ImageInputStream.java + test/java/lang/Throwable/SuppressedExceptions.java Changeset: 706e2d1fc378 Author: weijun Date: 2010-06-24 14:26 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/706e2d1fc378 6958026: Problem with PKCS12 keystore Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/sun/security/pkcs12/PKCS12SameKeyId.java Changeset: 1da7dfca3e20 Author: weijun Date: 2010-06-24 14:26 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1da7dfca3e20 6844907: krb5 etype order should be from strong to weak Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Credentials.java ! src/share/classes/sun/security/krb5/internal/crypto/EType.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java + test/sun/security/krb5/etype/ETypeOrder.java ! test/sun/security/krb5/ktab/HighestKvno.java Changeset: 9c0f542c8b37 Author: weijun Date: 2010-06-24 14:26 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9c0f542c8b37 6946669: SSL/Krb5 should not call EncryptedData.reset(data, false) Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/EncryptedData.java ! src/share/classes/sun/security/krb5/KrbApRep.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/KrbAsRep.java ! src/share/classes/sun/security/krb5/KrbCred.java ! src/share/classes/sun/security/krb5/KrbPriv.java ! src/share/classes/sun/security/krb5/KrbTgsRep.java ! src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java ! src/share/classes/sun/security/ssl/krb5/KerberosPreMasterSecret.java ! test/sun/security/krb5/auto/SSL.java Changeset: 2e9ef9a80d82 Author: ohair Date: 2010-06-25 08:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/2e9ef9a80d82 6964311: Build regression due to rt.jar contents change Summary: The fix for 6933622 regressed control builds, this is a workaround fix, filed 6964313 to find the right answer to why it happened and how to fix it correctly. Reviewed-by: alanb, darcy ! make/common/Release.gmk Changeset: 6bf403a14da4 Author: alanb Date: 2010-06-25 18:31 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6bf403a14da4 6963828: TEST_BUG: java/nio/channels/FileTransfer.java takes too long (win) Reviewed-by: chegar ! test/java/nio/channels/FileChannel/Transfer.java Changeset: 0995c5a2dc6d Author: alanb Date: 2010-06-25 18:34 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0995c5a2dc6d Merge Changeset: 6d274503d1b7 Author: chegar Date: 2010-06-28 14:55 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/6d274503d1b7 6954525: Testcase failure java/net/Authenticator/B4769350.java Reviewed-by: michaelm, weijun ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/java/net/Authenticator/B4769350.java Changeset: a89f8c292a5b Author: chegar Date: 2010-06-28 15:06 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a89f8c292a5b Merge Changeset: 7c3da1f0e17c Author: chegar Date: 2010-06-28 20:52 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/7c3da1f0e17c 6961029: java/net/BindException/Test.java should not use wildcard address Reviewed-by: michaelm, alanb ! test/ProblemList.txt ! test/java/net/BindException/Test.java ! test/java/net/ipv6tests/Tests.java Changeset: a9e0a6fb6057 Author: ksrini Date: 2010-06-28 18:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a9e0a6fb6057 6856415: Enabling java security manager will make programe thrown wrong exception ( main method not found ) Reviewed-by: darcy ! src/share/classes/sun/launcher/LauncherHelper.java + test/tools/launcher/VerifyExceptions.java Changeset: 5c5fe62d990d Author: alanb Date: 2010-06-29 17:11 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5c5fe62d990d 6213702: (so) non-blocking sockets with TCP urgent disabled get still selected for read ops (win) Reviewed-by: michaelm, chegar ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java ! src/windows/native/sun/nio/ch/WindowsSelectorImpl.c + test/java/nio/channels/Selector/OutOfBand.java Changeset: b318df97820f Author: lana Date: 2010-06-29 10:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/b318df97820f Merge Changeset: 4436a3e97a9b Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4436a3e97a9b 6934268: Better implementation of Character.isValidCodePoint Summary: Use the cleverest possible bit-twiddling micro-optimizations Reviewed-by: sherman Contributed-by: Ulf Zibis ! src/share/classes/java/lang/Character.java Changeset: 1776791f4fb9 Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1776791f4fb9 6934265: Add public method Character.isBmpCodePoint Summary: Move isBmpCodePoint from sun.nio.cs.Surrogate to Character Reviewed-by: sherman Contributed-by: Ulf Zibis ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/String.java ! src/share/classes/sun/io/CharToByteDBCS_ASCII.java ! src/share/classes/sun/io/CharToByteDBCS_EBCDIC.java ! src/share/classes/sun/nio/cs/Surrogate.java ! src/share/classes/sun/nio/cs/UTF_32Coder.java ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/ext/EUC_TW.java ! src/share/classes/sun/nio/cs/ext/GB18030.java ! src/share/classes/sun/nio/cs/ext/IBM33722.java ! src/share/classes/sun/nio/cs/ext/IBM964.java ! test/java/nio/charset/coders/BashStreams.java - test/java/nio/charset/coders/Surrogate.java ! test/java/nio/charset/coders/Surrogates.java Changeset: 5503dbb2e6cc Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5503dbb2e6cc 6937112: String.lastIndexOf confused by unpaired trailing surrogate Summary: Rewrite lastIndexOf for performance and correctness Reviewed-by: sherman Contributed-by: Reviewed by Ulf Zibis ! src/share/classes/java/lang/String.java ! test/java/lang/String/Supplementary.java ! test/java/lang/StringBuffer/Supplementary.java ! test/java/lang/StringBuilder/Supplementary.java Changeset: 5e9daa8fd04a Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5e9daa8fd04a 6940381: Wording improvements for String.indexOf, String.lastIndexOf Summary: Make wording of javadoc clearer and more consistent Reviewed-by: sherman ! src/share/classes/java/lang/String.java Changeset: 0d2bff3b2ca6 Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/0d2bff3b2ca6 6963749: Minor improvements to Character.UnicodeBlock Summary: Fix surrogate area docs; make source more readable Reviewed-by: okutsu, sherman Contributed-by: Ulf Zibis ! src/share/classes/java/lang/Character.java Changeset: 4f1b4e3c6d1b Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4f1b4e3c6d1b 6934270: Remove javac warnings from Character.java Summary: Use generics and conform to coding style Reviewed-by: sherman Contributed-by: Ulf Zibis ! src/share/classes/java/lang/Character.java Changeset: 98186c162c1e Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/98186c162c1e 6933322: Add methods highSurrogate(), lowSurrogate() to class Character Summary: Add public variants of methods Surrogate.high, Surrogate.low Reviewed-by: okutsu, sherman Contributed-by: Ulf Zibis ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/String.java ! src/share/classes/sun/nio/cs/Surrogate.java ! src/share/classes/sun/nio/cs/UTF_32Coder.java ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/UnicodeEncoder.java ! src/share/classes/sun/nio/cs/ext/EUC_TW.java ! test/java/nio/charset/coders/BashStreams.java Changeset: 838a21b99591 Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/838a21b99591 6934271: Better handling of longer utf-8 sequences Summary: Various cleanups, including clever bit-twiddling Reviewed-by: sherman ! src/share/classes/sun/nio/cs/UTF_8.java Changeset: 9c80da212eaf Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9c80da212eaf 6935172: Optimize bit-twiddling in Bits.java Summary: Transformations to reduce size of bytecode Reviewed-by: sherman Contributed-by: Based on an idea by Ulf Zibis ! src/share/classes/java/io/Bits.java Changeset: ce0ba8da0bd1 Author: martin Date: 2010-06-30 16:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ce0ba8da0bd1 6940258: (bf) Use intrinsified reverseBytes operation; elide no-op constructs Reviewed-by: alanb, sherman Contributed-by: Ulf Zibis ! src/share/classes/java/nio/Bits.java Changeset: a5a34c696d62 Author: alanb Date: 2010-07-01 16:28 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a5a34c696d62 6947216: Even more Dual-pivot quicksort improvements Reviewed-by: jjb Contributed-by: vladimir.yaroslavskiy at sun.com ! src/share/classes/java/util/DualPivotQuicksort.java ! test/java/util/Arrays/Sorting.java Changeset: 9bffc32b645d Author: mullan Date: 2010-07-01 15:20 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/9bffc32b645d 6782979: Add JNLPAppletLauncher (6618105) to blacklist Reviewed-by: ohair ! make/java/security/Makefile Changeset: c0d2a097eb99 Author: mullan Date: 2010-07-01 15:30 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c0d2a097eb99 Merge Changeset: 425960cef714 Author: darcy Date: 2010-07-06 18:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/425960cef714 6963723: Project Coin: Retrofit more JDK classes for ARM Reviewed-by: alanb, malenkov, prr, amenkov ! src/share/classes/java/beans/XMLDecoder.java ! src/share/classes/java/beans/XMLEncoder.java ! src/share/classes/java/io/ObjectInput.java ! src/share/classes/java/io/ObjectOutput.java ! src/share/classes/java/util/Scanner.java ! src/share/classes/javax/sound/midi/MidiDevice.java ! src/share/classes/javax/sound/midi/Receiver.java ! src/share/classes/javax/sound/midi/Transmitter.java ! src/share/classes/javax/sound/sampled/Line.java Changeset: d6f8ffc3c54a Author: ohair Date: 2010-07-07 10:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d6f8ffc3c54a 6954517: Testcase failure tools/launcher/UnicodeTest.sh Reviewed-by: ksrini ! test/tools/launcher/UnicodeTest.sh Changeset: f13e94562d84 Author: ksrini Date: 2010-07-09 09:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/f13e94562d84 6930056: (launcher) Need to remove or build as part of test these liblibrary.so files Reviewed-by: ohair, darcy - test/tools/launcher/Makefile.SolarisRunpath - test/tools/launcher/lib/i386/lib32/lib32/liblibrary.so - test/tools/launcher/lib/i386/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib64/lib64/liblibrary.so - test/tools/launcher/lib/sparc/lib64/liblibrary.so Changeset: da8526047e5f Author: martin Date: 2010-07-09 18:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/da8526047e5f 6967533: Epoch bug: ExceptionInInitializerError on systems with uninitialized clock Summary: Remove (hopefully!) unnecessary check of currentTimeMillis Reviewed-by: dholmes Contributed-by: Jon VanAlten ! src/share/classes/java/lang/System.java Changeset: a7f8f269f741 Author: chegar Date: 2010-07-12 18:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/a7f8f269f741 6967937: Scope id no longer being set after 6931566 Reviewed-by: alanb, dsamersoff ! src/solaris/native/java/net/NetworkInterface.c ! test/java/net/Inet6Address/B6214234.java Changeset: 1371a2d5f3a8 Author: chegar Date: 2010-07-12 18:16 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/1371a2d5f3a8 6967684: httpserver using a non thread-safe SimpleDateFormat Reviewed-by: michaelm ! src/share/classes/sun/net/httpserver/ExchangeImpl.java Changeset: bb0b32ffefe9 Author: chegar Date: 2010-07-12 18:18 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/bb0b32ffefe9 6966846: Incorrect assertion in java.net.Inet6Address.readObject Reviewed-by: michaelm ! src/share/classes/java/net/Inet6Address.java Changeset: d3fa95d0710c Author: ksrini Date: 2010-07-09 11:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/d3fa95d0710c 6921472: RFE: java launcher code needs clean up Summary: This changeset also contains fixes for 6405284, 6753938 and 6922500 Reviewed-by: darcy ! src/share/bin/emessages.h ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/bin/jli_util.c ! src/share/bin/jli_util.h ! src/solaris/bin/java_md.c ! src/windows/bin/java_md.c ! test/tools/launcher/Arrrghs.java Changeset: ddf825161d2d Author: dcubed Date: 2010-07-12 14:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/ddf825161d2d 6968401: 3/3 disable tests added by 6942989 until 6964018 is fixed Summary: Disable AnonLoggerWeakRefLeak.sh and LoggerWeakRefLeak.sh Reviewed-by: ohair ! test/java/util/logging/AnonLoggerWeakRefLeak.sh ! test/java/util/logging/LoggerWeakRefLeak.sh Changeset: 4e365ef6576d Author: dcubed Date: 2010-07-12 15:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/4e365ef6576d Merge Changeset: c5a436f053aa Author: lana Date: 2010-07-12 19:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/c5a436f053aa Merge ! test/ProblemList.txt - test/java/nio/channels/ServerSocketChannel/AcceptAddress.java - test/java/nio/charset/coders/Surrogate.java - test/tools/launcher/Makefile.SolarisRunpath - test/tools/launcher/lib/i386/lib32/lib32/liblibrary.so - test/tools/launcher/lib/i386/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib64/lib64/liblibrary.so - test/tools/launcher/lib/sparc/lib64/liblibrary.so Changeset: 13029a61b16b Author: lana Date: 2010-07-20 22:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/13029a61b16b Merge - test/java/nio/channels/ServerSocketChannel/AcceptAddress.java - test/java/nio/charset/coders/Surrogate.java - test/tools/launcher/Makefile.SolarisRunpath - test/tools/launcher/lib/i386/lib32/lib32/liblibrary.so - test/tools/launcher/lib/i386/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib32/liblibrary.so - test/tools/launcher/lib/sparc/lib64/lib64/liblibrary.so - test/tools/launcher/lib/sparc/lib64/liblibrary.so From john.coomes at oracle.com Thu Jul 22 21:00:49 2010 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 23 Jul 2010 04:00:49 +0000 Subject: hg: jdk7/hotspot/langtools: 8 new changesets Message-ID: <20100723040106.ADC1647BBD@hg.openjdk.java.net> Changeset: f87f1f3e23e1 Author: mikejwre Date: 2010-07-15 20:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/f87f1f3e23e1 Added tag jdk7-b101 for changeset 20a8fe72ee7b ! .hgtags Changeset: be5cafeb318d Author: darcy Date: 2010-06-23 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/be5cafeb318d 6911258: Project Coin: Add essential API support for Automatic Resource Management (ARM) blocks Reviewed-by: darcy, alanb Contributed-by: jjb at google.com ! src/share/classes/javax/lang/model/element/ElementKind.java Changeset: d8a15fda7e3a Author: jjg Date: 2010-06-24 10:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d8a15fda7e3a 6917288: Unnamed nested class is not generated Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/6917288/GraphicalInstaller.java + test/tools/javac/6917288/GraphicalInstallerTest.java + test/tools/javac/6917288/T6917288.java Changeset: 6386f0fd6205 Author: lana Date: 2010-06-29 12:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/6386f0fd6205 Merge ! 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/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.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/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/util/Names.java Changeset: d2b7ecf33b35 Author: jjg Date: 2010-06-30 18:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/d2b7ecf33b35 6964768: need test program to validate javac resource bundles Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/literals/BadUnderscoreLiterals.6.out Changeset: 064468702a8d Author: jjg Date: 2010-07-12 16:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/064468702a8d 6968497: localized text appears in raw diagnostic Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/generics/6946618/T6946618c.java ! test/tools/javac/generics/6946618/T6946618c.out Changeset: eaab979c8b36 Author: lana Date: 2010-07-12 19:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/eaab979c8b36 Merge Changeset: ff9c0a0bf7ed Author: lana Date: 2010-07-20 22:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/langtools/rev/ff9c0a0bf7ed Merge From tom.rodriguez at oracle.com Fri Jul 23 14:28:36 2010 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Fri, 23 Jul 2010 21:28:36 +0000 Subject: hg: jdk7/hotspot/hotspot: 5 new changesets Message-ID: <20100723212845.39B1E47C02@hg.openjdk.java.net> Changeset: 083fde3b838e Author: jrose Date: 2010-07-15 18:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/083fde3b838e 6964498: JSR 292 invokedynamic sites need local bootstrap methods Summary: Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs. Reviewed-by: twisti ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/ConstantTag.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/rewriter.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/constantTag.hpp Changeset: 01b172b8cd7c Author: never Date: 2010-07-16 08:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/01b172b8cd7c Merge Changeset: e0ba4e04c839 Author: jrose Date: 2010-07-16 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/e0ba4e04c839 6969574: invokedynamic call sites deoptimize instead of executing Reviewed-by: kvn ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/oops/cpCacheOop.cpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/prims/methodHandleWalk.cpp Changeset: 7139e81efd2d Author: never Date: 2010-07-22 15:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7139e81efd2d 6970566: runThese fails with SIGSEGV Reviewed-by: kvn ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp Changeset: 5063ce716349 Author: never Date: 2010-07-23 10:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5063ce716349 Merge From y.s.ramakrishna at oracle.com Fri Jul 23 16:33:01 2010 From: y.s.ramakrishna at oracle.com (y.s.ramakrishna at oracle.com) Date: Fri, 23 Jul 2010 23:33:01 +0000 Subject: hg: jdk7/hotspot/hotspot: 4 new changesets Message-ID: <20100723233308.1CB1F47C07@hg.openjdk.java.net> Changeset: a93a9eda13f7 Author: jcoomes Date: 2010-07-16 21:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a93a9eda13f7 6962947: shared TaskQueue statistics Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parNew/parOopClosures.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 5cbac8938c4c Author: johnc Date: 2010-07-19 11:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/5cbac8938c4c 6956639: G1: assert(cached_ptr != card_ptr) failed: shouldn't be, concurrentG1Refine.cpp:307 Summary: During concurrent refinment, filter cards in young regions after it has been determined that the region has been allocated from and the young type of the region has been set. Reviewed-by: iveresov, tonyp, jcoomes ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: 4f1fffe08c63 Author: ysr Date: 2010-07-21 12:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/4f1fffe08c63 Merge Changeset: 1890dc9151da Author: ysr Date: 2010-07-23 14:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/1890dc9151da Merge From ptisnovs at redhat.com Tue Jul 27 08:15:51 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 27 Jul 2010 17:15:51 +0200 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) Message-ID: <4C4EF827.6060309@redhat.com> Hi all, can anybody please review two quite simple changes in JVM initialization code? Webrev is available at: http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ When -XX:StackShadowPages is set to negative integer or zero value, JVM segfaulted on Linux and, according to http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris (although I only check this issue on Linux) I also would like to add more check for -XX:StackRedPages, -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue described in the bug report mentioned above (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to find relevant information about proper conditions (it may depends on page sizes, VM stack size etc.). Any ideas? Cheers Pavel Tisnovsky From tom.rodriguez at oracle.com Tue Jul 27 11:49:52 2010 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 27 Jul 2010 11:49:52 -0700 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: <4C4EF827.6060309@redhat.com> References: <4C4EF827.6060309@redhat.com> Message-ID: <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> I think you could put this check into arguments.cpp since I all platforms would require a positive number for the StackShadowPages. The same should be true of StackRedPages and StackYellowPages. Actually they all should be required to greater than 0 I think. Other than that I don't see other obvious constraints on the values. That bug report doesn't really show other problematic values, though I'm not sure I follow the point of the guarantee that's failing either. What does the min stack size have to do with the number of guard pages? I would expect it to be checking against ThreadStackSize and returning an error if it was too small like the other places that check against TheadStackSize. tom On Jul 27, 2010, at 8:15 AM, Pavel Tisnovsky wrote: > Hi all, > > can anybody please review two quite simple changes in JVM initialization code? Webrev is available at: > http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ > > When -XX:StackShadowPages is set to negative integer or zero value, JVM segfaulted on Linux and, according to http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris (although I only check this issue on Linux) > > I also would like to add more check for -XX:StackRedPages, -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue described in the bug report mentioned above (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to find relevant information about proper conditions (it may depends on page sizes, VM stack size etc.). Any ideas? > > Cheers > Pavel Tisnovsky > From David.Holmes at oracle.com Tue Jul 27 19:01:57 2010 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 28 Jul 2010 12:01:57 +1000 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> References: <4C4EF827.6060309@redhat.com> <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> Message-ID: <4C4F8F95.5080505@oracle.com> I agree with Tom, -XX flags should be validated in arguments.cpp if practical, and errors should be reported in a consistent way. If you want this to be fatal you could add a verify_range check for it in check_vm_args_consistency; else generate a warning and use the default value. (You might need to be careful about the placement of the check and be sure no other flags depend on this flag's value.) David Holmes Tom Rodriguez said the following on 07/28/10 04:49: > I think you could put this check into arguments.cpp since I all platforms would require a positive number for the StackShadowPages. The same should be true of StackRedPages and StackYellowPages. Actually they all should be required to greater than 0 I think. Other than that I don't see other obvious constraints on the values. That bug report doesn't really show other problematic values, though I'm not sure I follow the point of the guarantee that's failing either. What does the min stack size have to do with the number of guard pages? I would expect it to be checking against ThreadStackSize and returning an error if it was too small like the other places that check against TheadStackSize. > > tom > > On Jul 27, 2010, at 8:15 AM, Pavel Tisnovsky wrote: > >> Hi all, >> >> can anybody please review two quite simple changes in JVM initialization code? Webrev is available at: >> http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ >> >> When -XX:StackShadowPages is set to negative integer or zero value, JVM segfaulted on Linux and, according to http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris (although I only check this issue on Linux) >> >> I also would like to add more check for -XX:StackRedPages, -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue described in the bug report mentioned above (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to find relevant information about proper conditions (it may depends on page sizes, VM stack size etc.). Any ideas? >> >> Cheers >> Pavel Tisnovsky >> > From David.Holmes at oracle.com Tue Jul 27 19:14:23 2010 From: David.Holmes at oracle.com (David Holmes) Date: Wed, 28 Jul 2010 12:14:23 +1000 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: <4C4F8F95.5080505@oracle.com> References: <4C4EF827.6060309@redhat.com> <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> <4C4F8F95.5080505@oracle.com> Message-ID: <4C4F927F.1020107@oracle.com> Responding to Tom's query ... > Tom Rodriguez said the following on 07/28/10 04:49: >> I think you could put this check into arguments.cpp since I all >> platforms would require a positive number for the StackShadowPages. >> The same should be true of StackRedPages and StackYellowPages. >> Actually they all should be required to greater than 0 I think. Other >> than that I don't see other obvious constraints on the values. That >> bug report doesn't really show other problematic values, though I'm >> not sure I follow the point of the guarantee that's failing either. >> What does the min stack size have to do with the number of guard >> pages? I would expect it to be checking against ThreadStackSize and >> returning an error if it was too small like the other places that >> check against TheadStackSize. It's a simple sanity check that the minimum allowed stack size can actually accommodate a stack with all the requested guard pages. We need a minimum allowed, as well as a default (ThreadStackSize) for when stacks are programmatically requested. David >> >> tom >> >> On Jul 27, 2010, at 8:15 AM, Pavel Tisnovsky wrote: >> >>> Hi all, >>> >>> can anybody please review two quite simple changes in JVM >>> initialization code? Webrev is available at: >>> http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ >>> >>> When -XX:StackShadowPages is set to negative integer or zero value, >>> JVM segfaulted on Linux and, according to >>> http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris >>> (although I only check this issue on Linux) >>> >>> I also would like to add more check for -XX:StackRedPages, >>> -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue >>> described in the bug report mentioned above >>> (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to >>> find relevant information about proper conditions (it may depends on >>> page sizes, VM stack size etc.). Any ideas? >>> >>> Cheers >>> Pavel Tisnovsky >>> >> From ptisnovs at redhat.com Wed Jul 28 03:35:35 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Wed, 28 Jul 2010 12:35:35 +0200 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: <4C4F927F.1020107@oracle.com> References: <4C4EF827.6060309@redhat.com> <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> <4C4F8F95.5080505@oracle.com> <4C4F927F.1020107@oracle.com> Message-ID: <4C5007F7.2010506@redhat.com> Hi David and Tom, thank you for your responses. I'll add check for all three Stack*Pages parameters to arguments.cpp and then I'll send another webrev. Cheers Pavel David Holmes wrote: > Responding to Tom's query ... > >> Tom Rodriguez said the following on 07/28/10 04:49: >>> I think you could put this check into arguments.cpp since I all >>> platforms would require a positive number for the StackShadowPages. >>> The same should be true of StackRedPages and StackYellowPages. >>> Actually they all should be required to greater than 0 I think. >>> Other than that I don't see other obvious constraints on the values. >>> That bug report doesn't really show other problematic values, though >>> I'm not sure I follow the point of the guarantee that's failing >>> either. What does the min stack size have to do with the number of >>> guard pages? I would expect it to be checking against >>> ThreadStackSize and returning an error if it was too small like the >>> other places that check against TheadStackSize. > > It's a simple sanity check that the minimum allowed stack size can > actually accommodate a stack with all the requested guard pages. We need > a minimum allowed, as well as a default (ThreadStackSize) for when > stacks are programmatically requested. > > David > >>> >>> tom >>> >>> On Jul 27, 2010, at 8:15 AM, Pavel Tisnovsky wrote: >>> >>>> Hi all, >>>> >>>> can anybody please review two quite simple changes in JVM >>>> initialization code? Webrev is available at: >>>> http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ >>>> >>>> When -XX:StackShadowPages is set to negative integer or zero value, >>>> JVM segfaulted on Linux and, according to >>>> http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris >>>> (although I only check this issue on Linux) >>>> >>>> I also would like to add more check for -XX:StackRedPages, >>>> -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue >>>> described in the bug report mentioned above >>>> (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to >>>> find relevant information about proper conditions (it may depends on >>>> page sizes, VM stack size etc.). Any ideas? >>>> >>>> Cheers >>>> Pavel Tisnovsky >>>> >>> From bob.vandette at oracle.com Wed Jul 28 07:40:26 2010 From: bob.vandette at oracle.com (Bob Vandette) Date: Wed, 28 Jul 2010 10:40:26 -0400 Subject: 6953477: review request for portability improvements to Hotspot Message-ID: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ They include: 1. Cross Compilation improvements 2. Shared code changes for ARM and PPC 3. Software floating point support 4. Improvements to the hotspot crash log There are a few areas that could use additional factoring but these will be done under a seperate CR. Bob Vandette Oracle From kelly.ohair at oracle.com Wed Jul 28 08:52:53 2010 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Wed, 28 Jul 2010 08:52:53 -0700 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> Message-ID: <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> Just did a very quick scan. Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM uses. Macros will not be expanded inside string literals, and these macros are string literals. Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp -kto On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: > Here are a set of changes that we're planning on pushing into the > openjdk hotspot repository. > > http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ > > They include: > > 1. Cross Compilation improvements > 2. Shared code changes for ARM and PPC > 3. Software floating point support > 4. Improvements to the hotspot crash log > > There are a few areas that could use additional factoring but these > will be done under a seperate > CR. > > > Bob Vandette > Oracle > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100728/27444581/attachment.html From bob.vandette at oracle.com Wed Jul 28 09:13:54 2010 From: bob.vandette at oracle.com (Bob Vandette) Date: Wed, 28 Jul 2010 12:13:54 -0400 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> Message-ID: Thanks for catching that Kelly. On Jul 28, 2010, at 11:52 AM, Kelly O'Hair wrote: > Just did a very quick scan. > > Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM uses. > Macros will not be expanded inside string literals, and these macros are string literals. > > Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp > > -kto > > On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: > >> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. >> >> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ >> >> They include: >> >> 1. Cross Compilation improvements >> 2. Shared code changes for ARM and PPC >> 3. Software floating point support >> 4. Improvements to the hotspot crash log >> >> There are a few areas that could use additional factoring but these will be done under a seperate >> CR. >> >> >> Bob Vandette >> Oracle >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100728/e4964d3c/attachment.html From tom.rodriguez at oracle.com Wed Jul 28 10:12:58 2010 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 28 Jul 2010 10:12:58 -0700 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: <4C4F927F.1020107@oracle.com> References: <4C4EF827.6060309@redhat.com> <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> <4C4F8F95.5080505@oracle.com> <4C4F927F.1020107@oracle.com> Message-ID: >> Tom Rodriguez said the following on 07/28/10 04:49: >>> I think you could put this check into arguments.cpp since I all platforms would require a positive number for the StackShadowPages. The same should be true of StackRedPages and StackYellowPages. Actually they all should be required to greater than 0 I think. Other than that I don't see other obvious constraints on the values. That bug report doesn't really show other problematic values, though I'm not sure I follow the point of the guarantee that's failing either. What does the min stack size have to do with the number of guard pages? I would expect it to be checking against ThreadStackSize and returning an error if it was too small like the other places that check against TheadStackSize. > > It's a simple sanity check that the minimum allowed stack size can actually accommodate a stack with all the requested guard pages. We need a minimum allowed, as well as a default (ThreadStackSize) for when stacks are programmatically requested. Why should it be a guarantee instead of a simple check that returns an error code like the stack size check below it? It sort of make sense as a guarantee if the various Stack*Pages flags have their default value since we're not bootstrappable in that case but since they are adjustable by a user returning a real error message seems to make more sense. tom > > David > >>> >>> tom >>> >>> On Jul 27, 2010, at 8:15 AM, Pavel Tisnovsky wrote: >>> >>>> Hi all, >>>> >>>> can anybody please review two quite simple changes in JVM initialization code? Webrev is available at: >>>> http://cr.openjdk.java.net/~ptisnovs/StackShadowPagesCheck/ >>>> >>>> When -XX:StackShadowPages is set to negative integer or zero value, JVM segfaulted on Linux and, according to http://bugs.sun.com/view_bug.do?bug_id=6885308, hangs up on Solaris (although I only check this issue on Linux) >>>> >>>> I also would like to add more check for -XX:StackRedPages, -XX:StackShadowPages and -XX:StackYellowPages options to avoid issue described in the bug report mentioned above (http://bugs.sun.com/view_bug.do?bug_id=6885308) but I'm unable to find relevant information about proper conditions (it may depends on page sizes, VM stack size etc.). Any ideas? >>>> >>>> Cheers >>>> Pavel Tisnovsky >>>> >>> From tom.rodriguez at oracle.com Wed Jul 28 11:18:33 2010 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 28 Jul 2010 11:18:33 -0700 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> Message-ID: INTX_FORMAT isn't available in the SA anyway so it won't compile if you fix it. As is the changes break the code so they clearly aren't necessary, so can they be dropped? Same with the os_linux.cpp changes with UFM. tom On Jul 28, 2010, at 9:13 AM, Bob Vandette wrote: > Thanks for catching that Kelly. > > On Jul 28, 2010, at 11:52 AM, Kelly O'Hair wrote: > >> Just did a very quick scan. >> >> Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM uses. >> Macros will not be expanded inside string literals, and these macros are string literals. >> >> Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp >> >> -kto >> >> On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: >> >>> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. >>> >>> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ >>> >>> They include: >>> >>> 1. Cross Compilation improvements >>> 2. Shared code changes for ARM and PPC >>> 3. Software floating point support >>> 4. Improvements to the hotspot crash log >>> >>> There are a few areas that could use additional factoring but these will be done under a seperate >>> CR. >>> >>> >>> Bob Vandette >>> Oracle >>> >> > From bob.vandette at oracle.com Wed Jul 28 11:46:26 2010 From: bob.vandette at oracle.com (Bob Vandette) Date: Wed, 28 Jul 2010 14:46:26 -0400 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> Message-ID: <51F43A23-34F9-4B83-A78D-C3ABE66E8C11@oracle.com> On Jul 28, 2010, at 2:18 PM, Tom Rodriguez wrote: > INTX_FORMAT isn't available in the SA anyway so it won't compile if you fix it. I was about to find that out. > As is the changes break the code so they clearly aren't necessary, so can they be dropped? We must have had problems with newer gcc versions on x86 or we wouldn't have changed this. > Same with the os_linux.cpp changes with UFM. The only reason, I think, that someone in my team would have changed these files is if GCC complained. INTX_FORMAT is available in os_linux.cpp, so I should be able to just move the " characters around the macro uses. So the only change I need to think about is the ps_proc.c one. This is what prompted the change. Using gcc 4.3.2 on x86 Linux produces this warning: ps_proc.c:256: warning: format ?%lx? expects type ?long unsigned int *?, but argument 3 has type ?intptr_t *? Since this is in a Linux specific source file, I wonder if %p would work in all cases? Bob. > > tom > > On Jul 28, 2010, at 9:13 AM, Bob Vandette wrote: > >> Thanks for catching that Kelly. >> >> On Jul 28, 2010, at 11:52 AM, Kelly O'Hair wrote: >> >>> Just did a very quick scan. >>> >>> Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM uses. >>> Macros will not be expanded inside string literals, and these macros are string literals. >>> >>> Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp >>> >>> -kto >>> >>> On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: >>> >>>> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. >>>> >>>> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ >>>> >>>> They include: >>>> >>>> 1. Cross Compilation improvements >>>> 2. Shared code changes for ARM and PPC >>>> 3. Software floating point support >>>> 4. Improvements to the hotspot crash log >>>> >>>> There are a few areas that could use additional factoring but these will be done under a seperate >>>> CR. >>>> >>>> >>>> Bob Vandette >>>> Oracle >>>> >>> >> > From kelly.ohair at oracle.com Wed Jul 28 12:11:28 2010 From: kelly.ohair at oracle.com (Kelly O'Hair) Date: Wed, 28 Jul 2010 12:11:28 -0700 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <51F43A23-34F9-4B83-A78D-C3ABE66E8C11@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> <51F43A23-34F9-4B83-A78D-C3ABE66E8C11@oracle.com> Message-ID: The code at the top of this file might be of help. http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/6488b70a23cc/src/share/native/com/sun/java/util/jar/pack/unpack.cpp When I was working on cleaning up compiler warnings, this was a real pain. -kto On Jul 28, 2010, at 11:46 AM, Bob Vandette wrote: > > > On Jul 28, 2010, at 2:18 PM, Tom Rodriguez wrote: > >> INTX_FORMAT isn't available in the SA anyway so it won't compile if >> you fix it. > > I was about to find that out. > >> As is the changes break the code so they clearly aren't necessary, >> so can they be dropped? > > We must have had problems with newer gcc versions on x86 or we > wouldn't have changed this. > > >> Same with the os_linux.cpp changes with UFM. > > The only reason, I think, that someone in my team would have changed > these files is if GCC complained. > INTX_FORMAT is available in os_linux.cpp, so I should be able to > just move the " characters around the > macro uses. > > So the only change I need to think about is the ps_proc.c one. > > This is what prompted the change. Using gcc 4.3.2 on x86 Linux > produces this warning: > > ps_proc.c:256: warning: format ?%lx? expects type ?long unsigned int > *?, but argument 3 has type ?intptr_t *? > > Since this is in a Linux specific source file, I wonder if %p would > work in all cases? > > Bob. > > >> >> tom >> >> On Jul 28, 2010, at 9:13 AM, Bob Vandette wrote: >> >>> Thanks for catching that Kelly. >>> >>> On Jul 28, 2010, at 11:52 AM, Kelly O'Hair wrote: >>> >>>> Just did a very quick scan. >>>> >>>> Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM >>>> uses. >>>> Macros will not be expanded inside string literals, and these >>>> macros are string literals. >>>> >>>> Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp >>>> >>>> -kto >>>> >>>> On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: >>>> >>>>> Here are a set of changes that we're planning on pushing into >>>>> the openjdk hotspot repository. >>>>> >>>>> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ >>>>> >>>>> They include: >>>>> >>>>> 1. Cross Compilation improvements >>>>> 2. Shared code changes for ARM and PPC >>>>> 3. Software floating point support >>>>> 4. Improvements to the hotspot crash log >>>>> >>>>> There are a few areas that could use additional factoring but >>>>> these will be done under a seperate >>>>> CR. >>>>> >>>>> >>>>> Bob Vandette >>>>> Oracle >>>>> >>>> >>> >> > From tom.rodriguez at oracle.com Wed Jul 28 12:11:09 2010 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 28 Jul 2010 12:11:09 -0700 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <51F43A23-34F9-4B83-A78D-C3ABE66E8C11@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <0C6C1F26-5513-4504-BF4B-AD1F162ABEC9@oracle.com> <51F43A23-34F9-4B83-A78D-C3ABE66E8C11@oracle.com> Message-ID: <95037B85-8C9B-4AF9-BFC1-335CAA327E82@oracle.com> On Jul 28, 2010, at 11:46 AM, Bob Vandette wrote: > > > On Jul 28, 2010, at 2:18 PM, Tom Rodriguez wrote: > >> INTX_FORMAT isn't available in the SA anyway so it won't compile if you fix it. > > I was about to find that out. > >> As is the changes break the code so they clearly aren't necessary, so can they be dropped? > > We must have had problems with newer gcc versions on x86 or we wouldn't have changed this. > > >> Same with the os_linux.cpp changes with UFM. > > The only reason, I think, that someone in my team would have changed these files is if GCC complained. > INTX_FORMAT is available in os_linux.cpp, so I should be able to just move the " characters around the > macro uses. > > So the only change I need to think about is the ps_proc.c one. > > This is what prompted the change. Using gcc 4.3.2 on x86 Linux produces this warning: > > ps_proc.c:256: warning: format ?%lx? expects type ?long unsigned int *?, but argument 3 has type ?intptr_t *? > > Since this is in a Linux specific source file, I wonder if %p would work in all cases? Maybe. The format of %p isn't standard. Some platforms include 0x at the beginning and others don't and I'm not sure what linux does. Maybe it should simply be ifdef'ed _LP64 with the type of base corrected to uintptr_t: uintptr_t base; lib_info* lib; #ifdef _LP64 sscanf(word[0], "%lx", &base); #else sscanf(word[0], "%x", &base); #endif if ((lib = add_lib_info(ph, word[5], base)) == NULL) Whatever fix is done needs to be tested to make sure it doesn't break that code. The nsk/sajdi tests would exercise the needed code I think. tom > > Bob. > > >> >> tom >> >> On Jul 28, 2010, at 9:13 AM, Bob Vandette wrote: >> >>> Thanks for catching that Kelly. >>> >>> On Jul 28, 2010, at 11:52 AM, Kelly O'Hair wrote: >>> >>>> Just did a very quick scan. >>>> >>>> Something doesn't look right with the INTX_FORMAT, _UFM, and _DFM uses. >>>> Macros will not be expanded inside string literals, and these macros are string literals. >>>> >>>> Files agent/src/os/linux/ps_proc.c and src/os/linux/vm/os_linux.cpp >>>> >>>> -kto >>>> >>>> On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: >>>> >>>>> Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. >>>>> >>>>> http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ >>>>> >>>>> They include: >>>>> >>>>> 1. Cross Compilation improvements >>>>> 2. Shared code changes for ARM and PPC >>>>> 3. Software floating point support >>>>> 4. Improvements to the hotspot crash log >>>>> >>>>> There are a few areas that could use additional factoring but these will be done under a seperate >>>>> CR. >>>>> >>>>> >>>>> Bob Vandette >>>>> Oracle >>>>> >>>> >>> >> > From David.Holmes at oracle.com Wed Jul 28 16:56:11 2010 From: David.Holmes at oracle.com (David Holmes) Date: Thu, 29 Jul 2010 09:56:11 +1000 Subject: Need reviewers for changes in JVM initialization code (added check for -XX:StackShadowPages option) In-Reply-To: References: <4C4EF827.6060309@redhat.com> <46AF904F-F89F-43A9-B5CE-6DA6E9C95B2A@oracle.com> <4C4F8F95.5080505@oracle.com> <4C4F927F.1020107@oracle.com> Message-ID: <4C50C39B.9020807@oracle.com> Tom Rodriguez said the following on 07/29/10 03:12: >>> Tom Rodriguez said the following on 07/28/10 04:49: >>>> I think you could put this check into arguments.cpp since I all >>>> platforms would require a positive number for the >>>> StackShadowPages. The same should be true of StackRedPages and >>>> StackYellowPages. Actually they all should be required to >>>> greater than 0 I think. Other than that I don't see other >>>> obvious constraints on the values. That bug report doesn't >>>> really show other problematic values, though I'm not sure I >>>> follow the point of the guarantee that's failing either. What >>>> does the min stack size have to do with the number of guard >>>> pages? I would expect it to be checking against >>>> ThreadStackSize and returning an error if it was too small like >>>> the other places that check against TheadStackSize. >> It's a simple sanity check that the minimum allowed stack size can >> actually accommodate a stack with all the requested guard pages. We >> need a minimum allowed, as well as a default (ThreadStackSize) for >> when stacks are programmatically requested. > > Why should it be a guarantee instead of a simple check that returns > an error code like the stack size check below it? It sort of make > sense as a guarantee if the various Stack*Pages flags have their > default value since we're not bootstrappable in that case but since > they are adjustable by a user returning a real error message seems to > make more sense. I think it is a guarantee because if it is wrong then we need to update our hard-wired min_stack_allowed value - which I presume has been empirically determined. But given the user can mess with the Stack*Pages settings I agree that it is inconsistent with other checks. (Perhaps a leftover from a time these flags were not expected to be well known or used?) David From plaxo at mx.plaxo.com Thu Jul 29 05:44:05 2010 From: plaxo at mx.plaxo.com (Kirk Pepperdine) Date: Thu, 29 Jul 2010 05:44:05 -0700 Subject: Kirk Pepperdine added you as a business connection on Plaxo Message-ID: <9a256729ee59dbb7db55bdf13073b4e1@xpertmailer.com> Hi hotspot-dev at openjdk.java.net, Kirk Pepperdine wants to add you as a business connection on Plaxo. To accept this connection request, go to: http://www.plaxo.com/invite?lang=en&i=107585102&k=1938503228&l=en&src=email&et=1&est=business&etv=jun10d&el=en Thanks, The Plaxo team More than 20 million people use Plaxo to keep in touch with the people they care about. Don't want to receive emails from Plaxo any more? Go to: http://www.plaxo.com/stop?src=email&et=1&est=business&etv=jun10d&el=en&email=hotspot-dev%40openjdk.java.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100729/2327c3f8/attachment.html From tom.rodriguez at oracle.com Thu Jul 29 10:18:22 2010 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 29 Jul 2010 10:18:22 -0700 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> Message-ID: <7FFD27E9-2BFF-4EF2-ACE1-57486E1D98A4@oracle.com> Why isn't Thread::cache_global_variables defined in thread.hpp with an appropriate comment instead of being declared in every platform dependent hpp? It looks weird since it doesn't do anything at all on our current platforms. I understand that the ARM port caches are few variables in the Thread for easy access but it should be declared better than it is. The print_location changes in os::print_context are interesting, if a little verbose. Do you have an example of what the output will look like? You should make equivalent changes in os_windows_x86.cpp too. src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp: you changed the formatting of the existing printing, with an extra leading ',' and a missing st->cr(). c1_Compilation.hpp: Why don't you just clamp NMethodSizeLimit to 32K instead? c1_FrameMap.hpp: why are you changing nof_caller_save_cpu_regs from an enum to a variable? src/share/vm/memory/allocation.cpp delete the now unused copy of BlocksToKeep. frame.cpp: why a special case for ppc? javaFrameAnchor.cpp: why the changes to returning last_Java_pc? jniHandles.cpp: What's the point of these changes? They expose _block_list in product but don't actually enable the code that updates block_list so they don't do anything useful. #ifndef PRODUCT // Link new block to list of all allocated blocks block->_block_list_link = _block_list; _block_list = block; #endif Can these changes just be dropped? os.cpp: why was the default for _processor_count changed to 1? c1_CodeStubs.hpp: set_obj doesn't appear to be used anywhere. c1_LIRAssembler.cpp: Remove the ifdef and make the new ppc code the standard one. It should be NativeGeneralJump but we've never had a problem before because NativeCall::instruction_size and NativeGeneralJump::instruction_size are the same on both sparc and intel. I'm a little surprised you didn't have to correct the use in c1_Runtime1.cpp. Presumably NativeCall::instruction_size is smaller than NativeGeneralJump::instruction_size? tom On Jul 28, 2010, at 7:40 AM, Bob Vandette wrote: > Here are a set of changes that we're planning on pushing into the openjdk hotspot repository. > > http://cr.openjdk.java.net/~bobv/6953477/webrev.00/ > > They include: > > 1. Cross Compilation improvements > 2. Shared code changes for ARM and PPC > 3. Software floating point support > 4. Improvements to the hotspot crash log > > There are a few areas that could use additional factoring but these will be done under a seperate > CR. > > > Bob Vandette > Oracle > From David.Holmes at oracle.com Thu Jul 29 19:36:48 2010 From: David.Holmes at oracle.com (David Holmes) Date: Fri, 30 Jul 2010 12:36:48 +1000 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <7FFD27E9-2BFF-4EF2-ACE1-57486E1D98A4@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <7FFD27E9-2BFF-4EF2-ACE1-57486E1D98A4@oracle.com> Message-ID: <4C523AC0.4080701@oracle.com> Hi Tom, Thanks for the close scrutiny. Tom Rodriguez said the following on 07/30/10 03:18: > The print_location changes in os::print_context are interesting, if a > little verbose. Do you have an example of what the output will look > like? Internally there are some examples in the CR for 6889724. I also posted something below. > You should make equivalent changes in os_windows_x86.cpp too. Ideally yes, but at the time, as now, I had no access to Windows boxes for building or testing this. > src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp: > > you changed the formatting of the existing printing, with an extra > leading ',' and a missing st->cr(). That wasn't an intentional change - not sure what happened. (This is in the AMD64 part of the code. ) > c1_Compilation.hpp: > > Why don't you just clamp NMethodSizeLimit to 32K instead? In general the aim is to make ARCH specific changes without affecting any other code. We'd have to establish that the suggested change is valid on all platforms. > jniHandles.cpp: > > What's the point of these changes? They expose _block_list in > product but don't actually enable the code that updates block_list so > they don't do anything useful. It was an oversight on my part that _block_list would not get updated in product mode. This needs to enabled in product. print_location needs access to JNIHandleBlock::any_contains in product, which in turn needs access to the _block_list. (Or we disable the JNI handle check in product mode inside print_location.) Testing of print_location was limited as it was not feasible to orchestrate crashes where a register was known to contain an address of all the possible "types" that print_location would be looking for. There may be other places where the conversion from non-product to product missed something. > os.cpp: > > why was the default for _processor_count changed to 1? I don't know, but it partially invalidates the sanity check here: static inline bool is_MP() { assert(_processor_count > 0, "invalid processor count"); return _processor_count > 1; } this would allow is_MP to be used before the processor count has been properly set. Such a usage might be incorrect in some contexts. David ----- --------------- T H R E A D --------------- Current thread (0x00021400): JavaThread "main" [_thread_in_vm, id=28045, stack(0x406ae000,0x406fe000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000 Registers: r0 = 0x000b0c00 r1 = 0x00006b70 r2 = 0x00000000 r3 = 0x00000064 r4 = 0x00000000 r5 = 0x000b0c00 r6 = 0x000b0c00 r7 = 0x00021400 r8 = 0x00020638 r9 = 0x4a650c58 r10 = 0x00000000 fp = 0x406fcad4 r12 = 0x00000001 sp = 0x406fca58 lr = 0x403e1768 pc = 0x40480278 Register to memory mapping: r0 = 0x000b0c00 "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] java.lang.Thread.State: RUNNABLE r1 = 0x00006b70 0x00006b70 is pointing to unknown location r2 = 0x00000000 0x00000000 is pointing to unknown location r3 = 0x00000064 0x00000064 is pointing to unknown location r4 = 0x00000000 0x00000000 is pointing to unknown location r5 = 0x000b0c00 "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] java.lang.Thread.State: RUNNABLE r6 = 0x000b0c00 "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] java.lang.Thread.State: RUNNABLE r7 = 0x00021400 "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] java.lang.Thread.State: RUNNABLE r8 = 0x00020638 0x00020638 is pointing to unknown location r9 = 0x4a650c58 {method} - klass: {other class} r10 = 0x00000000 0x00000000 is pointing to unknown location fp = 0x406fcad4 0x406fcad4 is pointing into the stack for thread: 0x00021400 "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] java.lang.Thread.State: RUNNABLE r12 = 0x00000001 0x00000001 is pointing to unknown location sp = 0x406fca58 0x406fca58 is pointing into the stack for thread: 0x00021400 "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] java.lang.Thread.State: RUNNABLE lr = 0x403e1768 0x403e1768: JVM_StartThread+0xe8 in /java/embedded/users/dh198349/1.6.0_18/builds/b06/linux-armv5-eabi-sflt-full-dev/j2sdk-image/jre/lib/arm/client/libjvm.so at 0x40191000 pc = 0x40480278 0x40480278: in /java/embedded/users/dh198349/1.6.0_18/builds/b06/linux-armv5-eabi-sflt-full-dev/j2sdk-image/jre/lib/arm/client/libjvm.so at 0x40191000 From David.Holmes at oracle.com Thu Jul 29 20:23:28 2010 From: David.Holmes at oracle.com (David Holmes) Date: Fri, 30 Jul 2010 13:23:28 +1000 Subject: 6953477: review request for portability improvements to Hotspot In-Reply-To: <4C523AC0.4080701@oracle.com> References: <519B53B7-43A3-4F78-8CF5-E8FBA50F1C0C@oracle.com> <7FFD27E9-2BFF-4EF2-ACE1-57486E1D98A4@oracle.com> <4C523AC0.4080701@oracle.com> Message-ID: <4C5245B0.5080701@oracle.com> I said the following on 07/30/10 12:36: > Tom Rodriguez said the following on 07/30/10 03:18: >> jniHandles.cpp: >> >> What's the point of these changes? They expose _block_list in >> product but don't actually enable the code that updates block_list so >> they don't do anything useful. > > It was an oversight on my part that _block_list would not get updated in > product mode. This needs to enabled in product. print_location needs > access to JNIHandleBlock::any_contains in product, which in turn needs > access to the _block_list. (Or we disable the JNI handle check in > product mode inside print_location.) I disabled the use of any_contains in product mode. We don't want to keep the handle block list under normal operation. I'm sending Bob a link to an updated webrev and patch of my corrections so that he can merge them with the proposed changeset. David ----- > Testing of print_location was limited as it was not feasible to > orchestrate crashes where a register was known to contain an address of > all the possible "types" that print_location would be looking for. There > may be other places where the conversion from non-product to product > missed something. > >> os.cpp: >> >> why was the default for _processor_count changed to 1? > > I don't know, but it partially invalidates the sanity check here: > > static inline bool is_MP() { > assert(_processor_count > 0, "invalid processor count"); > return _processor_count > 1; > } > > this would allow is_MP to be used before the processor count has been > properly set. Such a usage might be incorrect in some contexts. > > David > ----- > > --------------- T H R E A D --------------- > > Current thread (0x00021400): JavaThread "main" [_thread_in_vm, > id=28045, stack(0x406ae000,0x406fe000)] > > siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), > si_addr=0x00000000 > > Registers: > r0 = 0x000b0c00 > r1 = 0x00006b70 > r2 = 0x00000000 > r3 = 0x00000064 > r4 = 0x00000000 > r5 = 0x000b0c00 > r6 = 0x000b0c00 > r7 = 0x00021400 > r8 = 0x00020638 > r9 = 0x4a650c58 > r10 = 0x00000000 > fp = 0x406fcad4 > r12 = 0x00000001 > sp = 0x406fca58 > lr = 0x403e1768 > pc = 0x40480278 > > > Register to memory mapping: > r0 = 0x000b0c00 > "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] > java.lang.Thread.State: RUNNABLE > r1 = 0x00006b70 > 0x00006b70 is pointing to unknown location > r2 = 0x00000000 > 0x00000000 is pointing to unknown location > r3 = 0x00000064 > 0x00000064 is pointing to unknown location > r4 = 0x00000000 > 0x00000000 is pointing to unknown location > r5 = 0x000b0c00 > "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] > java.lang.Thread.State: RUNNABLE > r6 = 0x000b0c00 > "Thread-2" prio=10 tid=0x000b0c00 nid=0x7da1 initialized [0x00000000] > java.lang.Thread.State: RUNNABLE > r7 = 0x00021400 > "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] > java.lang.Thread.State: RUNNABLE > r8 = 0x00020638 > 0x00020638 is pointing to unknown location > r9 = 0x4a650c58 > {method} > - klass: {other class} > r10 = 0x00000000 > 0x00000000 is pointing to unknown location > fp = 0x406fcad4 > 0x406fcad4 is pointing into the stack for thread: 0x00021400 > "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] > java.lang.Thread.State: RUNNABLE > r12 = 0x00000001 > 0x00000001 is pointing to unknown location > sp = 0x406fca58 > 0x406fca58 is pointing into the stack for thread: 0x00021400 > "main" prio=10 tid=0x00021400 nid=0x6d8d runnable [0x406fc000] > java.lang.Thread.State: RUNNABLE > lr = 0x403e1768 > 0x403e1768: JVM_StartThread+0xe8 in > /java/embedded/users/dh198349/1.6.0_18/builds/b06/linux-armv5-eabi-sflt-full-dev/j2sdk-image/jre/lib/arm/client/libjvm.so > at 0x40191000 > pc = 0x40480278 > 0x40480278: in > /java/embedded/users/dh198349/1.6.0_18/builds/b06/linux-armv5-eabi-sflt-full-dev/j2sdk-image/jre/lib/arm/client/libjvm.so > at 0x40191000 From xiaoqiangnk at gmail.com Fri Jul 30 01:08:45 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Fri, 30 Jul 2010 16:08:45 +0800 Subject: hotpot run two many bytecodes when startup Message-ID: hi, I am porting openjdk6 to MIPS. When i finished, I only typed command "java", but the hotspot ran 1,650,000 bytecodes. jdk1.5 run only about 240,000 bytecodes. What probably will get rise to this scenario? -- Best Wishes Yongqiang Yang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100730/94660a13/attachment.html From xiaoqiangnk at gmail.com Fri Jul 30 01:30:39 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Fri, 30 Jul 2010 16:30:39 +0800 Subject: question about share/tools Message-ID: hi, Could someone explain functionalities of share/tools in hotspot? And whether it is related to hotspot's startup? Thank you! -- Best Wishes Yongqiang Yang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100730/665dc279/attachment.html From xiaoqiangnk at gmail.com Fri Jul 30 06:01:30 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Fri, 30 Jul 2010 21:01:30 +0800 Subject: jvm load too many classes Message-ID: hi, I just type command "java" under openjdk1.6, then the jvm will load 308 classes, including java/launcher/LauncherHelp, java/util/ResourceBundle, java/util/Currency, java/util/Locale, java/net/URL When I use jdk1.5, the jvm just load about 180 classes, not including the classes above. Could someone figure out something wrong? Thank you! -- Best Wishes Yongqiang Yang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100730/38c0d157/attachment.html From David.Holmes at oracle.com Fri Jul 30 05:26:11 2010 From: David.Holmes at oracle.com (David Holmes) Date: Fri, 30 Jul 2010 22:26:11 +1000 Subject: hotpot run two many bytecodes when startup In-Reply-To: References: Message-ID: <4C52C4E3.1020307@oracle.com> Hi, Try comparing the list of classes that gets loaded. This is a library issue not a VM issue (so I bcc'ed hotspot-dev). The folks on core-libs-dev (cc'ed) will have a better idea on the startup process for the class libraries. David Holmes Yongqiang Yang said the following on 07/30/10 18:08: > > hi, > > I am porting openjdk6 to MIPS. When i finished, I only typed > command "java", but the hotspot ran 1,650,000 bytecodes. jdk1.5 run > only about 240,000 bytecodes. > > What probably will get rise to this scenario? > -- > Best Wishes > Yongqiang Yang > From mandy.chung at oracle.com Fri Jul 30 11:24:00 2010 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 30 Jul 2010 11:24:00 -0700 Subject: jvm load too many classes In-Reply-To: References: Message-ID: <4C5318C0.1050006@oracle.com> Yongqiang Yang wrote: > hi, > > I just type command "java" under openjdk1.6, then the jvm will > load 308 classes, including > java/launcher/LauncherHelp, > java/util/ResourceBundle, > java/util/Currency, > java/util/Locale, > java/net/URL > > > When I use jdk1.5, the jvm just load about 180 classes, not > including the classes above. > > > Could someone figure out something wrong? New features and bug fixes in a new release could lead to more classes get loaded at startup. We have done some work to lazily load classes if appropriate (see CR 6798873: Reduce the number of classes loaded and class dependencies). Mandy From opinali at gmail.com Fri Jul 30 11:41:59 2010 From: opinali at gmail.com (Osvaldo Doederlein) Date: Fri, 30 Jul 2010 15:41:59 -0300 Subject: jvm load too many classes In-Reply-To: <4C5318C0.1050006@oracle.com> References: <4C5318C0.1050006@oracle.com> Message-ID: I wonder if these numbers have some variation per platform? For me (on Windows; 32-bit JDKs), the results of this test (java -verbose:class | grep Loaded | wc -l) are: 1.5.0_22: 239 1.6.0_21: 274 1.7.0-ea-b103: 403 The diff from 1.5 to 1.6 is not bad, but JDK7 seems right now to be a heavy regression... FWIW for such a simple test. For one thing, these core-boot classes all come off the CDS file so their classloading effort is relatively very small, and the delta will certainly be much smaller for even the smallest real-world app. A+ Osvaldo 2010/7/30 Mandy Chung : > Yongqiang Yang wrote: >> >> hi, >> >> ? ? I just type command "java" under openjdk1.6, then the jvm will load >> 308 classes, including ? ? ? ? ? ? java/launcher/LauncherHelp, >> ? ? ? ? ? ?java/util/ResourceBundle, >> ? ? ? ? ? ?java/util/Currency, >> ? ? ? ? ? ?java/util/Locale, >> ? ? ? ? ? ?java/net/URL >> >> ? ? ? ?When I use jdk1.5, the jvm just load about 180 classes, not >> including the classes above. >> >> ? ? ? ?Could someone figure out something wrong? > > New features and bug fixes in a new release could lead to more classes get > loaded at startup. ?We have done some work to lazily load classes if > appropriate (see CR 6798873: Reduce the number of classes loaded and class > dependencies). > > Mandy > > From mandy.chung at oracle.com Fri Jul 30 12:59:45 2010 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 30 Jul 2010 12:59:45 -0700 Subject: jvm load too many classes In-Reply-To: References: <4C5318C0.1050006@oracle.com> Message-ID: <4C532F31.5040207@oracle.com> Osvaldo Doederlein wrote: > I wonder if these numbers have some variation per platform? Yes, there are some platform-dependent classes and so some loaded classes are different on different platform. > For me (on > Windows; 32-bit JDKs), the results of this test (java -verbose:class | > grep Loaded | wc -l) are: > > 1.5.0_22: 239 > 1.6.0_21: 274 > 1.7.0-ea-b103: 403 > > I ran the helloworld. The number of loaded classes running different jdk versions are fairly close. What test case did you use? $ grep Loaded hw.verbose.jdk5u22 | wc -l 303 $ grep Loaded hw.verbose.jdk6u21 | wc -l 323 $ grep Loaded hw.verbose.jdk7 | wc -l 329 > The diff from 1.5 to 1.6 is not bad, but JDK7 seems right now to be a > heavy regression... FWIW for such a simple test. For one thing, these > core-boot classes all come off the CDS file so their classloading > effort is relatively very small, and the delta will certainly be much > smaller for even the smallest real-world app. > Right. -verbose:class prints out all loaded classes regardless of coming from CDS archive or not. The number of loaded classes is one metric to the startup while class loading time + clinit time are other important metrics. So these loaded classes has small impact to the startup time especially with CDS is enabled. Mandy > A+ > Osvaldo > > 2010/7/30 Mandy Chung : > >> Yongqiang Yang wrote: >> >>> hi, >>> >>> I just type command "java" under openjdk1.6, then the jvm will load >>> 308 classes, including java/launcher/LauncherHelp, >>> java/util/ResourceBundle, >>> java/util/Currency, >>> java/util/Locale, >>> java/net/URL >>> >>> When I use jdk1.5, the jvm just load about 180 classes, not >>> including the classes above. >>> >>> Could someone figure out something wrong? >>> >> New features and bug fixes in a new release could lead to more classes get >> loaded at startup. We have done some work to lazily load classes if >> appropriate (see CR 6798873: Reduce the number of classes loaded and class >> dependencies). >> >> Mandy >> >> >> From xiaoqiangnk at gmail.com Fri Jul 30 22:48:20 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Sat, 31 Jul 2010 13:48:20 +0800 Subject: jvm load too many classes In-Reply-To: <4C532F31.5040207@oracle.com> References: <4C5318C0.1050006@oracle.com> <4C532F31.5040207@oracle.com> Message-ID: I am porting openjdk1.6 to MIPS. I have finished, but opendk1.6 is four times slower than jdk1.5 at startup. Two versions ran on the same MIPS machine . During startup, openjdk1.6 runs 1,650,000 bytecodes while jdk1.5 runs about 240,000 bytecodes. On Sat, Jul 31, 2010 at 3:59 AM, Mandy Chung wrote: > Osvaldo Doederlein wrote: > >> I wonder if these numbers have some variation per platform? >> > > Yes, there are some platform-dependent classes and so some loaded > classes are different on different platform. > > > For me (on >> Windows; 32-bit JDKs), the results of this test (java -verbose:class | >> grep Loaded | wc -l) are: >> >> 1.5.0_22: 239 >> 1.6.0_21: 274 >> 1.7.0-ea-b103: 403 >> >> >> > I ran the helloworld. The number of loaded classes running different jdk > versions are fairly close. What test case did you use? > > $ grep Loaded hw.verbose.jdk5u22 | wc -l > 303 > > $ grep Loaded hw.verbose.jdk6u21 | wc -l > 323 > > $ grep Loaded hw.verbose.jdk7 | wc -l > 329 > > > > The diff from 1.5 to 1.6 is not bad, but JDK7 seems right now to be a >> heavy regression... FWIW for such a simple test. For one thing, these >> core-boot classes all come off the CDS file so their classloading >> effort is relatively very small, and the delta will certainly be much >> smaller for even the smallest real-world app. >> >> > Right. -verbose:class prints out all loaded classes regardless of coming > from CDS archive or not. The number of loaded classes is one > metric to the startup while class loading time + clinit time are other > important metrics. So these loaded classes has small impact > to the startup time especially with CDS is enabled. > > Mandy > > > A+ >> Osvaldo >> >> 2010/7/30 Mandy Chung : >> >> >>> Yongqiang Yang wrote: >>> >>> >>>> hi, >>>> >>>> I just type command "java" under openjdk1.6, then the jvm will load >>>> 308 classes, including java/launcher/LauncherHelp, >>>> java/util/ResourceBundle, >>>> java/util/Currency, >>>> java/util/Locale, >>>> java/net/URL >>>> >>>> When I use jdk1.5, the jvm just load about 180 classes, not >>>> including the classes above. >>>> >>>> Could someone figure out something wrong? >>>> >>>> >>> New features and bug fixes in a new release could lead to more classes >>> get >>> loaded at startup. We have done some work to lazily load classes if >>> appropriate (see CR 6798873: Reduce the number of classes loaded and >>> class >>> dependencies). >>> >>> Mandy >>> >>> >>> >>> >> > -- Best Wishes Yongqiang Yang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20100731/05a48c52/attachment.html